Full Stack Dev. Study- JAVA(5)

김영빈·2021년 3월 15일
0

Full Stack Dev. Study

목록 보기
5/8

상속과 추상클래스

기본적인 상속과 추상클래스의 내용은 c++과 동일해서 간단히 정리할 부분만 정리하였다.

상속

is - a : 상속
has - a : 합성(aggregation)

super() : 상위 클래스를 나타냄

Upcasting 예시

Parent parent = new Child();

Downcasting 예시

((Child)parent).childMethod();

Java는 모든 method가 virtual method이다. 따라서 upcasting을 통한 다형성을 알아놓는 것이 중요하다.

추상클래스

추상클래스는 new (인스턴스화)할 수 없다.
추상클래스는 추상 메서드를 포함하는 클래스이므로 선언만하고 실제 구현은 이를 상속받은 클래스에서 진행한다.

template method

템플릿 메서드는 추상 메서드나 이미 구현된 메서드를 사용해서 전체 기능의 흐름을 정의하는 메서드로 'final'로 선언하여 하위 클래스에서 재정의할 수 없게 한다.

public final void run() {
	start();
    going();
    stop();
}

final keyword로 하위 클래스에서 재정의할 수 없게 하는 이유는 run() 메서드의 시나리오가 변하면 안되기 때문이다.

profile
초보 개발자

0개의 댓글