메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

객체(object)와 개체(entity)에 관한 이야기

한빛미디어

|

2002-11-22

|

by HANBIT

28,679

「한빛 네트워크 기사 공모전」 입선작: 권명호

프롤로그

컴퓨터공학에서 자주 나오는 용어 중에 하나가 ‘객체’ 또는 ‘개체’이다. ‘객체(object)’라는 것은 일상생활에서는 세상에 존재하는 모든 것들, 그러니까 눈에 보이는 모든 사물들이 객체가 될 수 있고, 보통 하나의 ‘객체’ 또는 ‘개체’라고 말 할 수 있다. 컴퓨터 프로그램에서 ‘객체’(또는 개체)라는 용어는 프로그램을 구성하는 하나의 단위로 변수, 메소드, 데이터 값 등의 모든 것을 포함하는 것으로 ‘객체’와 ‘개체’가 같이 사용된다. 그렇지만 ‘객체’와 ‘개체’라는 용어를 제대로 구분하여 사용하는 것이 필요하다고 생각된다. 본 기사에서는 자바언어와 데이터베이스를 사용하여 "객체"와 "개체"를 구분하여 그 의미를 알아본다.

객체(object)

최근의 프로그래밍은 예전의 구조적 방식에서 탈피하여 "객체 지향적 프로그래밍(OOP, Object Oriented Programming)"이 주를 이루고 있다. 여기에는 최근에 인기를 끄는 Visual C++, C#, Java 언어 등이 대표적이다. 즉 객체지향 언어는 모듈(하나의 작은 단위)을 객체 단위로 하여 작성하기 쉽도록 하여, 객체간의 인터페이스와 상속 기능을 통하여 객체 단위를 효율적으로 재사용 할 수 있는 체계를 제공한다. 객체지향 프로그래밍에서 객체는, 프로그램 설계 단계에서 최초로 생각해야 할 부분이다.
Java 클래스에서 객체를 만들어 본다.
ClassName ObjectName;
 
  예) Book bookA;
Book bookB;
생성된 객체를 위해서 메모리를 할당받기 위해 new 연산자를 사용한다.
ClassName ObjectName = new ClassName();
 
  예) Book bookA = new Book();
      Book bookB = new Book();
이제 bookA와 BookB 객체를 만들어 본다.
ObjectName.VariableName = Value;
ObjectName.MethodName();
 
  예) bookA.publish_name = "ABC";
      bookA.made_year = 2002;
      bookA.price_up();
          .......

      bookB.book_price = 1000;
      bookB.price_down();
각각의 객체는 특정 클래스 또는 그 클래스의 자체 메소드나 프로시저, 데이터 변수를 가지고 있는 서브클래스가 실제로 구현된 것으로 ‘인스턴스(instance)"가 된다. 결과적으로 객체(object)는 실제로 컴퓨터 내에서 수행되는 모든 것을 의미한다.

개체(entity)

관계형 데이터베이스에서 개체(entity)는 표현하려는 유형, 무형의 실체로써 서로 구별되는 것을 의미한다. 하나의 개체는 하나 이상의 속성(attribute)으로 구성되고 각 속성은 그 개체의 특성이나 상태를 설명한다.

학생(student) 릴레이션을 살펴보자.

  • 관계형 데이터베이스에서는 테이블을 릴레이션(relation)이라 한다.
  • 속성(attribute)은 데이터의 가장 작은 논리적인 단위로 학번, 이름, 학년, 전공이 해당하고 개체가 가질 수 있는 특성을 나타내며 필드(field)라고도 한다. 또한 레코드는 투플(tuple)이라 한다.
  • 학생 릴레이션에서 가질 수 있는 실질적인 값을 개체 인스턴스(entity instance)라고 하고 이것들의 집합을 개체 집합(entity set)이라 한다.
참고자료
  • 자바 입문 (생능출판사)
  • 데이터베이스 시스템 (정익사)
  • www.term.co.kr
TAG :
댓글 입력
자료실

최근 본 책0