객체 지향 (object-oriented)
- 객체, 클래스, 상속을 제공하는 기술 또는 프로그래밍 언어의 속성
- 정보 은닉(캡슐화) , 자료 추상화 , 메시지 전달, 다형성 , 동적바인딩, 상속
S/W 모듈 재사용
1. 자료와 연산의 확장 / 제한
2. 하나 이상의 연산을 재정의
3. 두 개의 부품에 사용되는 비슷한 연산들을 하나의 새 부품으로 추상화
4. 다형성 또는 연산에 적용할 자료형의 확장
모듈의 독립성을 위하여 모듈 내부 자료들은 정보 은닉(캡슐화)를 하고 이에 접근하는 연산을 정의하였다.
객체(Object)
- 연산의 효과를 저장하고 유지하는 연산들과 자료의 집합
- 객체의 상태 : 객체 자신의 내부적, 또는 지역적인 것 / 객체의 부분 / 선언된 지역 변수들에 의해 표현
메소드(Method)
- 어떤 객체가 어떤 메시지를 받으면 실행하는 연산
클래스(class)
- 내부 구조를 정의하는 객체들과 그 객체 인스턴스가 사용하는 연산 집합을 위한 틀
- 지역 상태와 메소드에 대한 패턴
- 기본적으로 자료형과 동일
인스턴스(Instance)
- 특정 클래스로 선언된 객체
- 인스턴스 변수 : 객체의 상태를 나타내는 지역변수
상속(inheritance)
- 내부 구조와 연산 집합의 전체 혹은 부분을 어떤 클래스에서 하위 클래스로 복사함
다중 상속
- 하나의 파생 클래스가 여러 개의 기반 클래스에서 상속 받음
동적 바인딩
- Pascal : new 함수 및 dispose 함수
- Lisp : 완전 자동
- Simlua : 복합적 방법 ( new 제공 , 자동 회수)
동적 클래스
- 기억장소의 배당과 회수
- 메소드의 동적 변환
다형성(polymorphism)
- 다양한 객체들이 동일한 메시지에 다르게 응답하는 능력
상속과 동적 바인딩이 묵시적인 다형성 지원
'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 |