반응형

*객체 (Object)

- 객체는 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화 한) 하나의 소프트웨어 모듈이다.

- 데이터는 객체가 가지고 있는 정보로 속성이나 상태, 분류 등을 나타내며, 속성, 상태, 변수, 상수, 자료구조 라고도 한다.

- 함수는 객체가 수행하는 기능으로 객체가 갖는 데이터(속성, 상태)를 처리하는 알고리즘이다. 객체의 상태를 참조하거나 변경하는 수단이 되는 것으로 메소드(Method, 행위), 서비스, 동작(Operation), 연산이라고도 한다.

 

*객체의 특징

- 객체는 독립적으로 식별 가능한 이름을 가지고 있다.

- 개체가 가질 수 있는 조건을 상태(State)라고 하는데, 일반적으로 상태는 시간에 따라 변한다.

- 객체와 객체는 상호 연관성에 의한 관계가 형성된다.

- 객체가 반응할 수 있는 메시지의 집합을 행위라고 하며, 객체는 행위의 특징을 나타낼수 있다.

- 객체는 일정한 기억장소를 가지고 있다.

- 객체의 다른 메소드는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수행한다.

 

*클래스 (Class)

- 클래스는 공통된 속성과 연산(행위)을 갖는 객체의 집합으로, 객체의 일반적인 타입을 의미한다.

- 클래스는 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀이다.

- 인스턴스란 클래스에 속한 각각의 객체를 의미한다.

- 인스턴스화란 클래스로부터 새로운 객체를 생성하는 것을 의미한다.

- 동일 클래스에 속한 각각의 객체(인스턴스)들은 공통된 속성과 행위를 가지고 있으면서, 그 속성에 대한 정보가 서로 달라 동일 기능을 하는 여러 가지 객체를 나타내게 된다.

- 최상위 클래스는 상위 클래스를 갖지 않는 클래스를 의미한다.

- 슈퍼 클래스(Super Class)란 특정 클래스의 상위(부모)클래스를 의미한다.

- 서브 클래스(Sub Class)란 특정 클래스의 하위(자식)클래스를 의미한다.

 

*캡슐화 (Encapsulation)

- 캡슐화는 데이터)속성)와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다.

- 캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐(정보 은닉)되어 외부에서의 접근이 제한적이기 때문에 외부 모듈의 변경으로 인한 파급 효과가 적다.

- 캡슐화된 객체들은 재사용이 용이하다.

- 객체들 간의 메시지를 주고받을 때 상대 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 단순해지고, 객체 간의 결합도가 낮아진다.

 

*상속 (Inheritance)

- 상속은 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려받는 것이다.

- 상속을 이용하면 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 다시 정의하지 않고서도 즉시 자신의 속성으로 사용할 수 있다.

- 하위 클래스는 상위 클래스로부터 상속받은 속성과 연산 외에 새로운 속성과 연산을 첨가하여 사용할 수 있다.

- 상위 클래스의 속성과 연산을 하위 클래스가 사용할 수 있기 때문에 객체와 클래스의 재사용, 즉 소프트웨어 재사용을 높이는 중요한 개념이다.

 

*다중 상속 (Multiple Inheritance)

- 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받는 것이다.

 

*다형성 (Polymorphism)

- 다형성은 메시지에 의해 객체(클래스)가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 객체(클래스)가 가지고 있는 고유한 방법(특성)으로 응답할 수 있는 능력을 의미한다.

- 객체(클래스)들은 동일한 메소드명을 사용하며 같은 의미의 응답을 한다.

- 응용 프로그램 상에서 하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들을 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 것이다.

반응형

'자격증 > 정보처리기사' 카테고리의 다른 글

공통 모듈, 재사용  (0) 2020.05.13
모듈, 결합도, 응집도, 팬인/팬아웃  (0) 2020.05.12
객체지향  (0) 2020.05.11
아키텍처 패턴 종류  (0) 2020.05.11
아키텍처 패턴  (0) 2020.05.10

+ Recent posts