항해99 2주차 TIL

김근호·2023년 1월 26일
1

Java

목록 보기
3/10

추상 클래스

  • 미완성 설계도. 미완성 메서드(추상메서드)를 가지고 있는 클래스
  • 클래스 앞에 abstract를 붙인다.
  • 다른 클래스에 도움을 주기 위한 것. 인스턴스 생성 불가
    (미완성 설계도 이기 때문에 제품을 생산하지 못한다)
  • 상속을 통해 추상 메서드를 완성해야 인스턴스 생성가능
    (구현 : 추상 메서드 구현부(몸통) 만들기)

추상 메서드

  • 미완성 메서드. 구현부(몸통,{})가 없는 메서드
  • abstract 리턴타입 메서드이름();
  • 주석을 통해 어떤 기능을 수행할 목적으로 작성하셨는지 설명한다
  • 꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우에 사용
  • 상속을 통해서 자손 클래스가 추상 메서드를 구현할때 모든 추상 메서드에 대한 구현이 필요하다. 일부만 구현하면 자손 클래스도 abstract를 붙여주어야 한다.

추상 클래스의 작성

  • 여러 클래스에 공통적으로 사용될 수 있는 추상 클래스를 바로 작성하거나 기존 클래스의 공통 부분을 뽑아서 추상 클래스를 만든다(코드의 중복을 제거)
  • 추상 클래스가 자손단계를 거칠때마다 좀 더 구체적이 되는데, 의미 있는 단계의 추상 클래스를 만들어 놓고 필요할때 맞는 단계의 자손을 상속 받아서 하면 편리하다
  • 추상화(애매) <--> 구체화(명확)
  • 추상화된 코드는 구체화된 코드보다 유연하다(변경에 유리)
profile
앞만 보고 나아가자!

0개의 댓글