추상클래스
-설계의 틀이 되는 미완성 클래스
-인스턴스를 생성할 수 없다.
-추상클래스를 상속받으면 추상클래스에 명시된 메서드는 반드시 구현해야 작동된다.
=>상속받으면 빨간 줄이 뜨는데 한번 눌러줘서
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 |