JAVA

[JAVA-개념] 객체지향 언어의 특징 (1)

_주야 2012. 10. 27. 18:17

 

* OOP(Object Oriented Programming, 객체지향 언어)


Object (
객체)

실 세계의 존재하는 모든 것의 효율적인 정보 관리를 위하여 의미를 부여하는 논리적인 개념

 

Class (클래스)

- 일련의 객체들에 대해 그들의 공통적인 행위와 구조를 표현한 개념.

- Class의 구성요소= method(행위) + field(구조)

- 객체는 항상 클래스로부터 생성된다.

, 클래스는 객체를 생성하는 형판(template)으로 정보처리의 주체는 클래스가 아니라 객체이다.

- 클래스로부터 생성된 객체를 instance라 한다.

 

Encapsulation(캡슐화)

- 객체 내부에 정의된 것은 외부로부터 감춰 정보은닉(Information Hiding)을 보장한다.

- 메시지를 받은 클래스는 method를 이용하여 자신의 상태를 변경하지만 외부에는 수행 결과를 노출시키지 않을 수 있다.

- 객체 내부의 변경은 다른 객체에 영향을 끼치지 않는다

 

Polymorphism(다형성)

- 외부로부터 전달된 메시지에 대해, 관련 객체들이 서로 다르게 반응하는 것이다.

 

Inheritance(상속)

- 상위 클래스의 특성이 하위 클래스로 전달되는 행위이다.

- 온전한 하위 클래스의 표현을 보장하기 위한 mechanism이다.

- 클래스 계층 구조의 형태에 따라 상속 형태가 달라질 수 있다.