2010. 1. 4. 02:22
객체란 사물이다.
실제세계에서 볼수 있는 모든 것들 예를 들어 사람, 컴퓨터, MP3 전부 객체가 될 수 있다.
각 객체는 객체마다 속성과 행동이 있다. 객체들끼리는 서로 철저하게 독립적이며 객체들끼리는 서로 연관을 가
질수도 있고 아닐 수도 있다. 이러한 간단한 특징을 가진것이 객체이다.
객체지향 개념은 하나의 사고방식이라고 할 수 있다. 다만 이 사고방식이 몇 가지의 기본적인 원리에 뿌리를 두고 있다
는 점이 중요하다. 아래에 객체지향을 이루는 몇가지 개념들을 적어보겠다.
추상화 - 객체를 모델링할때 자신이 필요로 하는 만큼의 속성과 오퍼레이션을 추출해내는 것이다.
상속 - 가전제품 클래스 (슈퍼클래스)
세탁기, 냉장고, 전자레인지등 (서브클래스)
가전제품 클래스는 전원 스위치, 전기 배선의 속성과 켜다, 끄다의 오퍼레이션을 가지고 있다. 따라서, "어떤것 이 가전 제품이다"라는 사실만 알면, "가전제품 클래스가 가진 속성과 오퍼레이션을 가지고 있구나"라고 바로 알아 챌 수 있는 것이다.
이러한 관계를 상속이라고한다.
다형성 - 동일한 이름의 오퍼레이션이라도 그 오퍼레이션이 일어나는 클래스에 따라 각기 다른 행동을 수행하도록 한다.
(open - open door, open window, open account)
캡슐화 - 객체는 자신이 수행하는 모든 행동의 과정과 속성을 다른 객체와 외부 세계에 보이지 않도록 한다.(이래서 캡슐화를 정보 은닉이라고도 부른다.) 하지만, 모든 것을 숨긴다면 객체는 아무 의미가 없기때문에 다른 객체들에게 얼굴만을 보이게하고 인터페이스를 제공한다. 인터페이스 예를 들자면 TV객체같은경우는 TV본체에 조작 버튼과 리모콘이 해당된다.
연관 - 객체는 다른 객체와 연관 관계를 가질 수 있다. 연관은 여러 가지 형태로 이루어지며, 하나의 객체는 다중성에 의해 한 개 이상의 객체와 연관될 수 있다. 또 집합연관은 연관 관계의 일종이다. 집합체는 컴포넌트 집합으로 구성된다. 복합연관은 집합연관의 특별한 종류로서, 복합체에서 컴포넌트는 복합체의 일부로써만 존재할 수 있다.
실제세계에서 볼수 있는 모든 것들 예를 들어 사람, 컴퓨터, MP3 전부 객체가 될 수 있다.
각 객체는 객체마다 속성과 행동이 있다. 객체들끼리는 서로 철저하게 독립적이며 객체들끼리는 서로 연관을 가
질수도 있고 아닐 수도 있다. 이러한 간단한 특징을 가진것이 객체이다.
객체지향 개념은 하나의 사고방식이라고 할 수 있다. 다만 이 사고방식이 몇 가지의 기본적인 원리에 뿌리를 두고 있다
는 점이 중요하다. 아래에 객체지향을 이루는 몇가지 개념들을 적어보겠다.
추상화 - 객체를 모델링할때 자신이 필요로 하는 만큼의 속성과 오퍼레이션을 추출해내는 것이다.
상속 - 가전제품 클래스 (슈퍼클래스)
세탁기, 냉장고, 전자레인지등 (서브클래스)
가전제품 클래스는 전원 스위치, 전기 배선의 속성과 켜다, 끄다의 오퍼레이션을 가지고 있다. 따라서, "어떤것 이 가전 제품이다"라는 사실만 알면, "가전제품 클래스가 가진 속성과 오퍼레이션을 가지고 있구나"라고 바로 알아 챌 수 있는 것이다.
이러한 관계를 상속이라고한다.
다형성 - 동일한 이름의 오퍼레이션이라도 그 오퍼레이션이 일어나는 클래스에 따라 각기 다른 행동을 수행하도록 한다.
(open - open door, open window, open account)
캡슐화 - 객체는 자신이 수행하는 모든 행동의 과정과 속성을 다른 객체와 외부 세계에 보이지 않도록 한다.(이래서 캡슐화를 정보 은닉이라고도 부른다.) 하지만, 모든 것을 숨긴다면 객체는 아무 의미가 없기때문에 다른 객체들에게 얼굴만을 보이게하고 인터페이스를 제공한다. 인터페이스 예를 들자면 TV객체같은경우는 TV본체에 조작 버튼과 리모콘이 해당된다.
연관 - 객체는 다른 객체와 연관 관계를 가질 수 있다. 연관은 여러 가지 형태로 이루어지며, 하나의 객체는 다중성에 의해 한 개 이상의 객체와 연관될 수 있다. 또 집합연관은 연관 관계의 일종이다. 집합체는 컴포넌트 집합으로 구성된다. 복합연관은 집합연관의 특별한 종류로서, 복합체에서 컴포넌트는 복합체의 일부로써만 존재할 수 있다.