객체(Object) 객체지향 프로그래밍에서 객체는, 프로그램 설계 단계에서 최초로 생각해야 할 것으로서, 결국 프로세스에서 유도된 코드 단위들이다. 중간에, 각 객체는 일반화된 객체 클래스로 만들어지고 더욱 일반화된 클래스가 정의됨으로써, 객체가 모델을 공유하고 그 코드에서 클래스 정의를 재사용할 수 있게 한다. 각각의 객체는 특정 클래스 또는 그 클래스의 자체 메쏘드나 프로시저 그리고 데이터 변수를 가지고 있는 서브클래스가 실제로 구현된 것, 즉 인스턴스이다. 그러므로 객체는 실제로 컴퓨터 내에서 수행되는 것을 말한다.
개체(Entity)
일반적으로, entity란 존재하는 것, 즉 실체를 의미한다. 이 용어의 어원은 라틴어의 ens에서 나왔으며, 사물의 존재와 그것의 품질 사이에 구별을 짓는다. entity가 되기 위해 필요한 일은, 그저 존재하는 것이 전부이다. 어떤 것이 존재한다는 사실은, 그것이 다른 존재나 entity로부터 분리되어있음을 암시하는 듯하다. 프로그래밍이나 공학에서, 그리고 아마도 많은 다른 상황들에서, 이 용어는 명확한 사물이든, 이름이 붙여져 있지 않은 추상화된 아이디어든 관계없이 단일체를 인식하는데 사용된다. 칠판에 글씨나 그림을 쓰며 토의를 할 때, 흔히 아직 이름이 붙어있지 않고 단지 "entity"라고만 표현되어 있는 무엇인가를 그릴 수 있다 (만약, 그 entity가 토의가 진행되어 나중에 귀속 품질과 이름을 갖게 되었다면, 더 이상 그것을 "entity"라고 부를 필요는 없을 것이다). 일부 용법에서, entity는 객체지향 프로그래밍에서 사용되는 객체와 비슷한 의미를 갖는다. 아래에 일부 용례를 나열하였다.
|
파일 처리시스템에서는 한건의 자료를 구성하는 레코드가 하나의 엔티티에 해당한다. 각 엔티티간의 관련을 릴레이션쉽(relationship)이라고 하며, 복수 개의 엔티티간의 관련을 도식화 한 것을 엔티티 관계도(ERD:Entity Relationship Diagram)라고 한다. 엔티티 관계도는 파일시스템을 설계하거나 데이타베이스의 구조를 결정하는 데 중요한 자료로 활용된다. 정보통신 분야에서는 계층구조의 프로토콜에서 사용되는 서비스를 취급하는 단위를 지칭한다. 즉, OSI의 계층 구조에서 서비스를 받거나 서비스를 제공하는 하나의 단위를 일컫는다.
재미있는 것은, 현제 객체라는 개념이 객체지향 프로그래밍에서 나타난 개념으로 생각하는 사람들이 많은데, 객체라는 개념은 데이터, 오퍼레이션(함수 등)등을 통틀어 소프트웨어를 구성하는 한 요소를 의미하고 있습니다.
다음은 위키피디아 백과사전의 검색 내용입니다.
철학 또는 전산학에서의 개체(영어:entity)는 인간의 개념 또는 정보의 세계에서 의미있는 하나의 정보 단위이다. 사물의 본질적인 성질을 속성이라고 하며, 관련있는 속성들이 모여서 의미있는 하나의 정보 단위를 이룬 것이 바로 개체에 해당한다. 파일시스템이나 데이터베이스에서의 레코드가 개체에 해당한다. 개체들 사이의 연관성을 관계라고 하며, 개체와 관계를 나타낸 모델을 개체-관계 모델라고 한다. 속성이라는 용어 대신 영어의 attribute를 그대로 한글로 옮겨 애트리뷰트라고 하기도 한며, 개체라는 용어 대신 영어의 entity를 그대로 한글로 옮겨 엔티티라고 하기도 한다.
'Development > JavaEssential' 카테고리의 다른 글
인터페이스(Interface) (0) | 2012.01.24 |
---|---|
추상클래스(Abstract class) (0) | 2012.01.24 |
클래스변수 & 인스턴스 변수 (0) | 2011.12.28 |
java - 두 가지 데이터 타입 (0) | 2011.09.24 |
자바 - 타입에 따른 변수의 기본값 (1) | 2011.02.12 |