추상 클래스

비지·2023년 10월 12일
0

엘트

목록 보기
13/16

추상 클래스

  • 추상 클래스는 다른 클래스들이 파생될 수 있는 기초 클래스이다.
  • 직접 인스턴스화 할 수 없다.
  • abstract 키워드는 추상 클래스나 추상 메소드를 정의하는 데 사용된다.
  • 추상 메소드는 클래스에는 구현되어 있지 않고, 파생된 클래스에서 구현해야 한다.

추상 클래스를 활용한 디자인 패턴(Template Method Pattern)

  • 프로그램의 일부분을 서브 클래스로 캡슐화해 전체 구조를 바꾸지 않고 특정 단계의 기능을 바꾸지 않는 것을 디자인 패턴이라고 한다.
  • 전체적인 알고리즘은 상위 클래스에서 구현하고 다른 부분은 하위 클래스에서 구현한다.
  • 전체 구조는 유사하지만 부분적으로 다른 구문으로 구성된 메소드의 코드 중복을 최소화 할 수 있다.

4. 추상 클래스

추상 클래스는 다른 클래스들이 파생될 수 있는 기초 클래스로 직접 인스턴스화를 할 수 없는 클래스입니다.

abstract 키워드를 이용해 추상 클래스나 추상 메소드를 정의하며, 추상 메소드는 클래스에 구현되어 있지 않기 때문에 파생된 클래스에서 구현해야 합니다. 즉, 추상 클래스는 사용을 위해서는 상속을 강제하는 클래스입니다.

템플릿 메소드 패턴(Template Method Pattern)

템플릿 메소드 패턴은 기능의 구조만 메소드에 정의하고, 하위 클래스에서 기능의 구조는 유지한 채 세부적인 알고리즘만 재정의 하는 디자인 패턴입니다.

전체적인 구조가 동일하고, 상황에 따라 알고리즘을 확장 및 변경하기 때문에 코드 중복을 최소화할 수 있는 이점이 있습니다.

추상 클래스를 이용해 상위 클래스에서 메소드의 구조를 잡고, 하위 클래스에서 디테일한 알고리즘을 변경함으로써 템플릿 메소드 패턴을 적용할 수 있습니다.

디자인 패턴이란 소프트웨어 설계에서 공통적으로 자주 발생하는 문제들을 해결하기 위한 설계 방법을 정리한 패턴을 말합니다. 즉, 문제가 발생하지 않는 코드 작성을 위한 정형화된 방법입니다.

profile
나를 위한 업그레이드 아자아자

0개의 댓글