IT 용어_객체
객체(object) : 세상에 존재하는 모든것, 프로그래밍에서의 객체는 데이터의 분산을 막기 위해 데이터와 기능을 하나로 묶은 그룹.
ex) 컴퓨터(객체) = 데이터(본체, 모니터, 키보드) + 기능(화면, 소리, 입력, 출력)
객체 지향 프로그래밍(OOP)에서 클래스(class)가 실제로 구현된 인스턴스(instance)를 말한다. 즉, 객체란 클래스를 인스턴스화한 것이다. 객체의 데이터 부분은 속성(attribute)으로 나타내고, 객체의 동작 부분은 메소드(method)를 사용하여 구현한다.
엔터티에 대해서 데이터 모델과 데이터베이스에 권위자가 정의한 사항은 다음과 같다.
- 변별할 수 있는 사물 - Peter Chen(1976) -
- 데이터베이스 내에서 변별 가능한 객체 - C.J Date(1986) -
- 정보를 저장할 수 있는 어떤 것 - James Martin(1989) -
- 정보가 저장될 수 있는 사람, 장소, 물건, 사건, 개념 등 - Thomas Bruce(1992) -
위 정의들의 공통점은 다음과 같다.
- 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당한다.
- 엔터티는 업무상 관리가 필요한 관심사에 해당한다. 엔터티는 저장이 되기 위한 어떤 것(Thing)이다.
엔터티란 '업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)'으로 설명할 수 있다. 또는 엔터니는 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합으로 정의할 수 있다. 엔터니는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는다. 예를 들어 '학생'이라는 엔터티는 학번, 이름, 이수학점, 등록일자, 생일, 주소, 전화번호, 전공 등의 속성으로 특징지어질 수 있다. 이러한 속성 가운데에는 엔터니 인스턴스 전체가 공유할 수 있는 공통 속성도 있고, 엔터티 인스턴스 중 일부에만 해당하는 개별 속성도 있을 수 있다.
또한 엔터티는 인스턴스의 집합이라고 말할 수 있고, 반대로 인스턴스라는 것은 엔터티의 하나의 값에 해당한다고 정의할 수 있다. 예를 들어 과목은 수학, 영어, 국어가 존재할 수 있는데 수학, 영어, 국어는 각각이 과목이라는 엔터티의 인스턴스들이라고 할 수 있다. 엔터티를 이해할 때 눈에 보이는(Tangible) 것만 엔터티로 생각해서는 안되며, 눈에 보이지 않는 개념 등에 대해서도 엔터티로서 인식할 수 있어야 한다. 실제 업무 상에는 눈에 보이지 않는 것(Thing)이 엔터티로 도출되는 경우가 많으므로 더더욱 주의할 필요가 있다.
엔터티의 특징은 다음과 같다.
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보
- 유일한 식별자에 의해 식별이 가능
- 영속적으로 존재하는 인스턴스의 집합(2개 이상)
- 업무 프로세스에 의해 이용되어야함
- 반드시 속성 존재
- 다른 엔터티와 최소 한 개 이상의 관계 존재
참고자료 : http://wiki.hash.kr/index.php/%EA%B0%9D%EC%B2%B4
객체 - 해시넷
객체(客體) 또는 오브젝트(object)란 객체 지향 프로그래밍(OOP)에서 클래스(class)가 실제로 구현된 인스턴스(instance)를 말한다. 즉, 객체란 클래스를 인스턴스화한 것이다. 절차적 프로그래밍과 달
wiki.hash.kr
참고자료 : SQL 전문가 가이드