Book/객체지향의 사실과 오해
[Book] 3장) 타입과 추상화
kkkkkkkkkkkk
2022. 2. 16. 15:40
학습 내용
- 타입과 추상화에 대한 이해
추상화
- 목적
- 명확하게 이해하기 위해 특정 부분을 생략하고 감춤으로써 복잡도를 극복하는 것이 목적이다.
- 방법
- 첫번째 : 객체들간의 공통점을 합하고 차이점은 버리는 일반화를 통해 단순하게 만든다.
- 두번째 : 중요 부분을 강조하기 위해 불필요한 세부 사항을 제거하여 단순하게 만든다
개념
- 일반화한 추상적인 사람들의 생각. 언어와 사고의 기본 단위이다. (출처 : 나무위키)
- 3가지 관점
- 심볼 : 개념의 간략한 이름.
- 내연 : 개념을 완전히 나타낼 수 있고 의미를 통해 객체가 개념에 속하는지 알 수 있다.
- 외연 : 개념에 속하는 모든 객체의 집합.
- 개념을 이용해 공통점을 가진 객체들을 분류하여 복잡성을 극복 할 수 있다.
분류
- 객체에 특정한 개념을 적용하는 작업
- 중요도 : 분류의 따라 객체지향의 품질을 결정한다.
- 유지보수
- 재사용성
- 중요도 : 분류의 따라 객체지향의 품질을 결정한다.
타입
- 타입은 개념과 동일하다.
- 데이터 타입
- 메모리 안에 데이터를 분류하는 메타데이터이다.
- 메타 : ~에 대해서, 다른 개념으로 부터의 하나의 개념을 완성시킨다는 뜻이다.
- 메모리 안에 데이터를 분류하는 메타데이터이다.
- 객체와 타입
- 다형성
- 어떤 객체가 어떤 타입에 속하는지는 행동이 결정한다.
- 캡슐화
- 객체 내부적인 표현은 외부로부터 감춘다.
- 다형성
클래스
- 타입과는 다른 개념
- 객체의 타입을 분류하여 구현한 것
슈퍼 타입 과 서브 타입
- 슈퍼 타입
- 일반화를 한 타입 -> 부모
- 서브 타입
- 특수화를 한 타입 -> 자식
- 관계
- 부모 자식 관계 -> 상속