JAVA - 추상클래스(abstract class)

jodbsgh·2022년 3월 24일
0

💡"JAVA"

목록 보기
25/67

추상클래스란

  • 미완성 메서드를 포함하고 있는 클래스
  • 상속을 통해서 자손클래스에 의해서만 완성가능
	abstract class 클래스이름{
    	...
    }

추상메서드(abstract method)

  • 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것

/* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명한다. */
abstract 리턴타입 메서드이름();

  • 추상클래스로부터 상속받는 자손클래스는 오버라이딩을 통해 조상인 추상클래스의 추상메서드를 모두 구현해줘야함
  • 상속받은 추상메서드 중 하나라도 구현하지 않는다면, 자손클래스 역시 추상클래스로 지정해줘야함.
abstract class player{	//추상클래스
	abstract void play (int pos);
    abstract void stop();
}

class AudioPlayer extends player{
	void play(int pos)	{/* 내용생략 */}
    void stop() { /*내용 생략 */}
}

abstract class AbstractPlayer extends Player{
	void play(int pos) {/* 내용생략 */}
}

메서드의 이름과 메서드의 작업에 필요한 매개변수, 그리고 작업의 결과로 어떤 타입의 값을 반환할 것인가를 결정하는 것은 쉽지 않은 일이다. 선언부만 작성해도 메서드의 절반 이상이 완성된 것이라 해도 과언이 아니다.

추상클래스의 작성

추상화 : 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업
구체화 : 상속을 통해 클래스를 구현, 확장하는 작업

abstract를 붙여서 추상메서드로 선언하는 이유는 자손 클래스에서 추상메서드를 반드시 구현하도록 강요하기 위해서이다.

추상 메서드를 통해서 공통부분을 뽑아내어 필요할 때 상속을 통해서 사용할 수 있음.

profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글