본문 바로가기
CS(Computer Science)/프로그래밍언어

14. 객체지향 프로그래밍

by 동욷 2023. 6. 7.

객체 지향 (object-oriented)

- 객체, 클래스, 상속을 제공하는 기술 또는 프로그래밍 언어의 속성

- 정보 은닉(캡슐화) , 자료 추상화 , 메시지 전달,  다형성 , 동적바인딩, 상속

 

S/W 모듈 재사용

1. 자료와 연산의 확장 / 제한

2. 하나 이상의 연산을 재정의

3. 두 개의 부품에 사용되는 비슷한 연산들을 하나의 새 부품으로 추상화

4. 다형성 또는 연산에 적용할 자료형의 확장

 

모듈의 독립성을 위하여 모듈 내부 자료들은 정보 은닉(캡슐화)를 하고 이에 접근하는 연산을 정의하였다.

 

객체(Object)

- 연산의 효과를 저장하고 유지하는 연산들과 자료의 집합

- 객체의 상태 : 객체 자신의 내부적, 또는 지역적인 것 / 객체의 부분 / 선언된 지역 변수들에 의해 표현

 

메소드(Method)

- 어떤 객체가 어떤 메시지를 받으면 실행하는 연산

 

클래스(class)

- 내부 구조를 정의하는 객체들과 그 객체 인스턴스가 사용하는 연산 집합을 위한 틀

- 지역 상태와 메소드에 대한 패턴

- 기본적으로 자료형과 동일

 

인스턴스(Instance)

- 특정 클래스로 선언된 객체

- 인스턴스 변수 : 객체의 상태를 나타내는 지역변수

 

상속(inheritance)

- 내부 구조와 연산 집합의 전체 혹은 부분을 어떤 클래스에서 하위 클래스로 복사함

 

다중 상속

- 하나의 파생 클래스가 여러 개의 기반 클래스에서 상속 받음

 

동적 바인딩

- Pascal : new 함수 및 dispose 함수

- Lisp : 완전 자동

- Simlua : 복합적 방법 ( new 제공 , 자동 회수)

 

동적 클래스

- 기억장소의 배당과 회수

- 메소드의 동적 변환

 

다형성(polymorphism)

 - 다양한 객체들이 동일한 메시지에 다르게 응답하는 능력

 

상속과 동적 바인딩이 묵시적인 다형성 지원

 

 

728x90

'CS(Computer Science) > 프로그래밍언어' 카테고리의 다른 글

프로그래밍 언어 총정리  (0) 2023.06.07
12. 예외 처리  (0) 2023.06.04
11. 추상 자료형  (0) 2023.06.04
10장 부 프로그램  (0) 2023.06.04
9장 요약  (0) 2023.06.04