본문 바로가기

카테고리 없음

추상클래스, 메소드 특징 abstract

반응형

1. 추상클래스 abstract

  • 부모 클래스는 제공하지만, 실제 생성되면 안되는 클래스를 추상 클래스라 한다.
  • 추상 클래스는 이름 그대로 추상적인 개념을 제공하는 클래스이다.
  • 따라서 실체인 인스턴스가 존재하지 않는다.
  • 직접 인스턴스를 생성하지 못하는 제약이 추가된 것이다. 실수로라도 인스턴스를 생성할 문제를 근본적으로 방지해준다.
  • 대신에 상속을 목적으로 사용되고, 부모 클래스 역할을 담당한다
  • 추상 메서드가 하나라도 있는 클래스는 추상 클래스로 선언해야 한다

2. 추상메서드

  • 부모 클래스를 상속 받는 자식 클래스가 반드시 오버라이딩 해야 하는 메서드를 부모 클래스에 정의할 수 있다.이것을추상 메서드라 한다
  • 추상 메서드는 이름 그대로 추상적인 개념을 제공하는 메서드이다.
  • 따라서 실체가 존재하지 않고, 메서드 바디가 없다.
  • 추상 메서드는 자식 클래스가 반드시 오버라이딩 해야 하기 때문에 메서드 바디 부분이 없다. 바디 부분을만들면 컴파일 오류가 발생한다
  • 오버라이딩 하지 않으면 자식도 추상 클래스가 되어야 한다

3. 순수 추상 클래스

  • 모든 메서드가 추상 메서드인 추상 클래스
  • 모든 메서드가 추상 메서드인 순수 추상 클래스는 코드를 실행할 바디 부분이 전혀 없다
  • 순수 추상 클래스는 실행 로직을 전혀 가지고 있지 않다.
  • 단지 다형성을 위한 부모 타입으로써 껍데기 역할만 제공할 뿐이다. 다형성을 위해 사용된다
  • 부모의 기능이 없음. 상속받을게 없음.
  • 상속하는 클래스는 모든 메서드를 구현해야 한다.
  • 자바는 순수 추상 클래스를 더 편리하게 사용할수 있도록 인터페이스라는 개념을 제공한다.
반응형