최대 1 분 소요

객체지향프로그래밍 입문 강의의 강의 내용을 참고하여 정리한 글입니다.


추상클래스란?

추상 메서드를 포함한 클래스로 구현코드 없이 메서드의 선언만 있으며 인스턴스 화(new) 하여 사용하지 못한다.

처음에 선언만 할 땐 이름과 argument만 정해져 있는 것으로 결국 추상 클래스는 상속을 위한 클래스가 된다.

abstract int add(int x, int y); // 선언만 되어 있는 추상 매서드
int add(int x, int y){
  // 구현 파트
}

이렇게 구성하면 상위 클래스는 메소드 구현을 하위 클래스에게 위임시킨 것이며 하위 클래스는 구현에 대한 책임을 가진다고 생각하자.

훅 메서드

추상 메서드처럼 꼭 구현할 필요 없고 필요에 따라 재정의(override)를 통해 구현하는 메서드를 훅 메서드(hook method)라고 한다.

템플릿 메서드

추상 메서드나 구현된 메서드를 활용하여 젠체 기능의 흐름(시나리오)를 정의하는 매서드로, final로 선언하면 하위 클래스에서 재정의할 수 없다.

주로 프레임 워크에서 사용하는 설계 패턴으로 추상 클래스(상위 클래스)와 하위 클래스의 역할을 잘 구분할 수 있을 것으로 생각한다.

Final 예약어

  • 변수에 사용된 경우 : 상수
  • 메서드에 사용된 경우 : override 불가
  • 클래스에 사용돈 경우 : 더이상 상속되지 않음
    • ex. String class

태그: ,

카테고리:

업데이트:

댓글남기기