추상 클래스
- 구현 코드 없이 메서드의 선언만 있는 추상 메서드를 포함한 클래스
- 메서드 선언: 반환타입, 메서드 이름, 매개변수로 구성
- 메서드 정의: 메서드 구현과 동일한 의미 구현부를 가진다.
- 추상 클래스는
new
(인스턴스화)할 수 없다.
- 메서드에 구현 코드가 없으면
abstract
로 선언한다.
- abstract로 선언된 메서드를 가진 클래스는
abstract
로 선언한다.
- 모든 메서드가 구현 된 클래스라도
abstract
로 선언되면 추상 클래스로 인스턴스화 할 수 없다.
- 추상 클래스의 추상 메서드는 하위 클래스가 상속하여 구현한다.
package ch24;
public abstract class Computer {
public abstract void display();
public abstract void typing();
void turnOn() {
System.out.println("전원을 켭니다.");
}
void turnOff() {
System.out.println("전원을 끕니다");
}
}
package ch24;
public class Desktop extends Computer {
@Override
public void display() {
// TODO Auto-generated method stub
System.out.println("Desktop display");
}
@Override
public void typing() {
// TODO Auto-generated method stub
System.out.println("Desktop typing");
}
@Override
void turnOff() {
// TODO Auto-generated method stub
super.turnOff();
}
}
package ch24;
public abstract class Notebook extends Computer {
@Override
public void display() {
// TODO Auto-generated method stub
System.out.println("Notebook display");
}
}
package ch24;
public class MyNotebook extends Notebook{
@Override
public void typing() {
// TODO Auto-generated method stub
System.out.println("MyNoteBook typing");
}
}
package ch24;
public class ComputerTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Computer desktop=new Desktop();
desktop.display();
}
}
댓글