JAVA

[JAVA] 추상클래스

혼자공부중 2022. 2. 28. 13:03

추상클래스

미완성된 클래스

추상클래스 특징

  • 추상메소드가 존재하는 순간 반드시 추상클래스로 정의된다
  • 단, 추상메소드가 없어도 클래스명 앞에 abstract를 붙이면 추상클래스로 만들 수 있다
  • 객체 생성이 불가능하다(단, 참조형 변수로써 자식 객체를 담을 때는 사용 가능하다)⇒다형성 적용

추상클래스가 필요한 때

  • 자식 클래스들에게 일정한 규칙을 부여하고 싶을 때 쓰면 좋다
  • 클래스가 아직 구체적이지 않고 구현이 완벽한 상태가 아닐 때(개념적으로)
  • 현재 이 클래스에 대한 객체 생성을 애초에 막고싶을 때(기술적으로)

추상메소드

미완성된 메소드로 몸통부 { }가 구현되어있지 않은 메소드

추상메소드 특징

  • 자식클래스에서 오버라이딩을 통해 완성되는 메소드(강제로 오버라이딩을 해야한다)
  • 오버라이딩을 안했을 경우 에러 발생
  • 메소드 사용의 통일성, 강제성을 확보시켜준다
  • 표준화된 틀을 제공할 목적으로도 쓰인다