JAVA/STUDY

8. 추상 / Final

dev_sr 2020. 9. 10. 18:39

추상클래스

-설계의 틀이 되는 미완성 클래스

-인스턴스를 생성할 수 없다.

-추상클래스를 상속받으면 추상클래스에 명시된 메서드는 반드시 구현해야 작동된다.

=>상속받으면 빨간 줄이 뜨는데 한번 눌러줘서

Add unimplemented Method를 눌러주면 오버라이드 된 미구현 메서드들이 나타남

구현해줘야 작동함

 

public class Main extends Player{

	public static void main(String[] args) {
		Main main = new Main();
		main.play("떳다 떳다 비행기");
		main.pause();
		main.stop();
		
		Dog dog = new Dog();
		Cat cat = new Cat();
		
		dog.crying();
		cat.crying();
		
	}

	//빨간줄 뜨면 Add unimplemented method 눌러줌 
	//아직 구현이 안된 걸 구현해라 라는 의미
	//반드시 내용을 채워야 작동이 됨
	//@Override => 이 메서드를 구현해라 
	
	@Override
	void play(String songName) {
		System.out.println(songName+"을 재생합니다");
		
	}

	@Override
	void pause() {
		System.out.println("일시정지");
	}

	@Override
	void stop() {
		System.out.println("정지");
	}

}
abstract class Player {

	//구현할 클래스
	abstract void play(String songName);
	abstract void pause();
	abstract void stop();
}
abstract class Animal {
	abstract void crying();
}
public class Dog extends Animal{

	@Override
	void crying() {
		System.out.println("멍멍");
	}

}
public class Cat extends Animal {

	@Override
	void crying() {
		System.out.println("야옹");
	}

}

 

 

 

final

-절대로 변하지 않는 값을 정하고 싶을 때 사용

-변수, 메서드, 클래스에 사용가능

-final int number -> 상수, 변경 불가

-public final void sum( ) { } ->상속받은 클래스에서 함수 오버라이딩 불가 ( 재정의 불가 )

-final class Parent -> 상속 불가

 

'JAVA > STUDY' 카테고리의 다른 글

10. 다형성  (0) 2020.09.11
9. 인터페이스  (0) 2020.09.11
7. 클래스 / 상속  (0) 2020.09.10
6. 반복문과 재귀함수 (팩토리얼, 피보나치)  (0) 2020.09.09
5. 입력 / 파일 입력  (0) 2020.09.09