반응형
# 객체지향 프로그래밍의 3대 특징
- 정보은닉 (Information Hiding) : vo, dto 설계 시 정보은닉하여 상태정보 설계
- 상속 (Inheritance) : 다형성 기법을 사용하기 위해 필연적으로 필요.
- 다형성 (polymorphism)
# message polymorphism (다형성)
- 상속관계에 있는 클래스에서 상위클래스가 동일한 메시지로 하위클래스들을 서로 다르게 동작시키는 객체지향 원리.
# 다형성 이론의 전제조건
- 상속관계가 되어야 함.
- 객체생성을 UpCasting으로 할 것 (상위클래스가 하위 클래스에게 메시지를 보내야 하므로)
- UpCasting이 되면 DownCasting을 할 수 있다.
- 하위클래스가 반드시 재정의(Override)해야 함. (다형성이 보장되기 위함)
- 동적 바인딩을 통해 실현된다. (동적 바인딩이란 실행시점에서 사용될 메서드가 결정되는 바인딩으로, 프로그램의 속도를 떨어뜨리는 원인이 된다.)
# 추상 클래스와 인터페이스의 공통점
- 다형성을 보장하기 위해 등장
- 객체를 생성할 수 없다. (new 불가)
- 하위 클래스에 의해 구현되어야 한다. (Override : 재정의 필수)
- 부모(상위 클래스)의 역할로 사용 함. (UpCasting으로 객체를 생성)
- 추상 메서드를 갖는다.
반응형
'인프런 강의 학습 > Java TPC' 카테고리의 다른 글
Java TPC_20일차 문자열 / API 생성하기 / ArrayList 흉내내기 (0) | 2022.01.27 |
---|---|
Java TPC_19일차 패키지 / 자바에서 제공하는 API 접근 및 활용 (0) | 2022.01.25 |
Java TPC_17일차 Object 클래스 / Object 클래스 활용 (0) | 2022.01.24 |
Java TPC_16일차 추상 클래스 / 인터페이스 / 인터페이스(규약)와 JDBC의 관계 / 인터페이스의 상속관계 (0) | 2022.01.23 |
Java TPC_15일차 다형성 활용 (다형성인수, 다형성배열) (0) | 2022.01.21 |