언어/자바

추상클래스/템플릿 메서드, final 예약어

youngble 2023. 11. 11. 17:41

 

 

추상클래스는 상속을 위한 클래스이기때문에 만약 메서드를 구현했다고하더라도 인스턴스로 사용할 수 없다.

아래처럼 abstract을 붙인 클래스가 있다면 아래와 같이 new 를 통한 새로운 인스턴스 정의는 할수 없다.

 

 

 

추상 클레스 및 추상 메서드는 다른곳에서 쓸때 해당 메서드가 정의되어 사용해야한다.

만약 그러고 싶지 않다면 Hook 메서드를 만들어서 사용한다.

 

템플릿 메서드

추상 메서드나 구현된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 메서드이다.

final로 선언하여 하위 클래스에서 재정의 할 수 없게 한다.

 

final 예약어

final 변수 : 값이 변경될 수 없는 상수 ex) final static final double PI = 3.14;

final 메서드 : 하위 클래스에서 재정의 할 수 없는 메서드

final 클래스 : 상속할 수 없는 클래스