10/13 추상 클래스(abstract class)

Bam·2022년 10월 13일
0

자바

목록 보기
2/19
*미완성 설계도
abstract class Player {  // 추상클래스 (미완성클래스)
	abstract void play(int pos); // 추상메서드(몸통{}이 없는 미완성 메서드)
    abstract void stop();  // 추상메서드
}
*다른 클래스 작성에 도움주기위한 것, 인스턴스 생성불가
Player p = new Player(); // 에러, 추상 클래스의 인스턴스 생성불가

	  완성된 설계도      	추상클래스
class AudioPlayer extends Play
void play(int pos) { } // 추상메서드를 구현
구현 = 추상 메서드 몸통{} 만들기

AudioPlayer ap = new AudioPlayer(); // 완성된 설계도 , 인스턴스 생성O
Player 도 가능

*추상 메서드
미완성 메서드, 구현부(몸통, {})가 없는 메서드
abstract 리턴타입 메서드이름();

abstract class AbstractPlayer extends Player {
	void play(int pos) { } // 추상 메서드 구현
    
 조상에서 2개의 추상메서드를 상속받았으면 자손도 추상메서드를 2개 써야지
 abstract 를 안 쓸수 있다.
 ex) 
 
 abstract class Player { // 추상 클래스
    abstract  void play(int pos); // 추상 메서드
    abstract  void stop(); // 추상 메서드
    
 class AudioPlayer extends Player {
    void play(int pos){
        System.out.println(pos + "위치부터 play");
    }
    요 부분이 없으면 AudioPlayer 앞에 abstract 붙여야함
    void stop() {
        System.out.println("멈춥니다");
    }
}  
profile
Challenger

0개의 댓글