프로그래밍에서 "엔티티(Entity)"는 주로 데이터베이스 설계 및 객체 지향 프로그래밍(OOP)에서 사용되는 용어입니다. 이 용어는 다양한 컨텍스트에서 약간 다르게 사용될 수 있지만, 일반적으로 다음과 같은 의미를 가집니다.
- 데이터베이스 설계에서의 엔티티:
- 데이터베이스 설계에서 "엔티티"는 저장할 수 있는 데이터를 나타내는 객체입니다. 예를 들어, 고객, 주문, 제품 등이 엔티티가 될 수 있습니다. 이러한 엔티티는 데이터베이스에서 테이블로 표현됩니다. 예를 들어,
Customer
엔티티는 데이터베이스에서Customer
테이블로 표현되며, 이 테이블에는 고객의 정보(이름, 주소, 전화번호 등)가 저장됩니다. - 엔티티는 속성(Attributes)과 관련(Associations)을 가질 수 있습니다. 예를 들어, 고객(Customer) 엔티티는 이름(Name), 주소(Address) 등의 속성을 가질 수 있고, 주문(Order) 엔티티와 연관 관계를 가질 수 있습니다.
- 객체 지향 프로그래밍에서의 엔티티:
- 객체 지향 프로그래밍에서 "엔티티"는 하나의 고유한 식별자(ID)를 통해 구별되는 객체를 의미합니다. 엔티티 객체는 주로 비즈니스 도메인의 특정 개체를 나타내며, 그 상태와 행위를 관리합니다.
- 예를 들어, 고객(Customer) 클래스가 있다고 가정하면, 이 클래스의 인스턴스들은 각각 고유한 ID를 가지며, 고객 정보를 관리하는 역할을 합니다.
예시 코드 (Java에서의 엔티티 클래스):
@Entity
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// Getters and Setters
// Equals and HashCode methods, typically based on the id field
// Constructors (default, parameterized)
}
위의 Java 코드에서
Customer
클래스는 데이터베이스의 엔티티를 나타내며, 이 클래스의 인스턴스는 각각의 고객 데이터를 표현합니다. @Entity
어노테이션은 이 클래스가 JPA(Java Persistence API)를 통해 데이터베이스 테이블로 매핑됨을 나타냅니다. @Id
는 엔티티의 고유 식별자 필드를 의미하며, @GeneratedValue
는 이 식별자가 자동으로 생성됨을 나타냅니다.요약하자면, 엔티티는 주로 데이터베이스나 객체 지향 프로그래밍에서 중요한 개념으로, 특정 데이터를 표현하고 관리하는 객체를 의미합니다.
Share article