본문 바로가기

자바의 정석 정리

자바의 정석 - 7.9 추상 클래스

7.9.1 추상 클래스

  • abstract로 선언한 클래스
abstract class Test{}
  • 추상 및 일반 멤버 변수와 메서드 생성 가능
  • 추상 클래스로 지정되면 인스턴스 생성 불가

7.9.2 추상 메서드

  • abstract로 선언한 메서드
  • 구현부가 없기 때문에 ';'로 마무리
abstract void a();
  • 추상 메서드로 선언된 것은 자식 클래스에서 꼭 구현부를 만들어야 함. 만약 구현하지 않을경우 자식 역시 추상 클래스로 구현해야 함
abstract class Player{
    abstract void a();
    abstract void b();
}

abstract class A extends Playter{
    void a(){}
}

//Error
class A extends Playter{
    void a(){}
}
/*
b메소드를 구현하지 않았기 때문에 에러남
*/

7.9.3 추상클래스 작성

  • 여러 클래스의 공통된 성질을 뽑아 부모 클래스로 만들어 작성
  • 추상화 : 클래스간의 공통점을 찾아서 공통의 조상을 만드는 작업
  • 구체화 : 상속을 통해 클래스를 구현, 확장하는 작업