객체-지향 데이터베이스의 구현 요소

반응형
  • 객체 구조
    • 객체는 객체 식별자(OID; Object Identifier), 속성(Attribute), 메시지(Message), 메소드(Method)를 포함
    • 객체가 응답하는 메시지의 집합
      각 메시지는 하나 이상의 매개변수를 가질 수 있음
    • 메시지를 구현하는 코드 부분인 메소드의 집합
      메소드는 메시지에 대한 응답으로 값을 반환
    • 복합 객체(Complex Objects) 또는 합성 객체(Composite Objects)
      다른 객체를 포함하는 객체
         
  • 객체 및 객체 식별자
    • 객체 : 실세계 환경에서 존재하는 개체를 추상적으로 표현한 것
    • 객체 식별자 : 객체들을 유일하게 식별하기 위해 시스템에 의해서 생성되는 값으로, 사용자가 변경할 수 없음
         
  • 속성(Attribute)과 메소드(Method)
    • 속성 : 객체를 기술하는 데 사용되며 유일한 이름과 데이터 타입을 가진
    • 메소드 : 객체에 수행될 연산(즉, 객체의 속성값에 대한 변경이나 검색)을 기술한 것으로, 특정 메소드를 실행하기 위해서는 해당 객체에 메시지(Message)를 보내야 함
         
  • 클래스(Class) 및 인스턴스(Instance)
    • 클래스
      • 공통적인 특성을 소유한 객체들을 그룹화 및 추상화한 것
      • 동일한 속성과 메소드를 가진 객체들의 집합
      • 같은 특성을 갖는 객체들의 템플릿
    • 인스턴스
      • 클래스를 이용하여 생성한 하나의 객체를 의미
      • 클래스에 속한 각각의 객체는 그 클래스의 인스턴스가 되며, 클래스와 객체는 instance-of 관계를 가짐
           
  • 상속(Inheritance) 및 캡슐화(Encapsulation)
    • 상속
      • 클래스계층 구조를 형성하는 서브 클래스와 슈퍼 클래스 간에 존재하는 계승의 개념
      • 서브 클래스는 슈퍼 클래스의 모든 속성 및 메소드를 상속받아 사용할 수 있음
      • 일반적으로 서브 클래스와 슈퍼 클래스 간의 관계를 IS-A 관계라고 함
      • IS-A 관계 예 : employee 와 customer는 person의 특수화
    • 캡슐화
      정보 은폐를 목적으로 속성과 메소드를 하나로 묶는 것을 의미
    •    
  • 오버로딩(Overloading), 다형성(Polymorphism) 및 오버라이딩(Overriding)
    • 오버로딩
      하나의 메소드 이름에 다른 파라미터를 지정하여 이용하는 기법으로, 메소드 사용의 효율성을 높이는 기법
    • 다형성
      • 슈퍼 클래스에서 정의된 멤버를 서브 클래스에서 재정의할 수 있도록 제공하는 기법
      • 주로 오버로딩에 의해 이름은 공유하지만, 전달되는 메시지에 다라 서로 다른 계산을 수행하도록 함.
    • 오버라이딩
      슈퍼 클래스에 있는 메소드를 서브 클래스에서 상속받지 않고 다른 기능을 수행하는 메소드를 재정의하는 기법
반응형