추상화
추상 클래스, Abstract.Class
추상 메소드, Abstract,Method
추상 클래스
- 클래스 일종 > 상속 관계의 구성원 역할(부모 or 자식 클래스 역할) > 반드시 상속 관계를 맺어야 사용가능
- 객체의 원형(베이스)을 만드는 역할
- 객체의 행동(사용법)을 표준화하는 역할
- 클래스를 설계하는 개발자(X), 클래스를 사용하는 개발자(O)의 편의를 위한 기술
- 추상클래스는 객체를 못만들지만 참조변수는 만들 수 있다.
- 클래스 앞에 abstract를 붙여주면 됨.( abstract class OOO{ })
- 반드시 하나이상의 추상메소드를 가져야한다.
추상 클래스
1. 일반 구현 멤버
- 자식 클래스에게 상속해주기 위해서 구현
- 모든 자식 클래스들이 가져야 하는 공통 기능
- 변수, 메소드
2. 추상 멤버
- 추상 메소드(구현부를 가지지 않는 메소드) -> public abstract void OOO();
상황]모니터
//추상 클래스(모니터 클래스)
abstract class Monitor{
/1. 일반 구현 멤버(변수, 메소드)
public String model;
public int price;
public void info(){
System.out.println(this.model + " , " + this.price);
}
//추상 메소드
public abstract void test();
}
//LG100 모니터
class LG100 extends Monitor{
public String color;
public void on(){
System.out.println("전원 켜기");
}
public void off(){
System.out.println("전원 끄기");
}
//추상클래스를 상속받으면 추상메소드를 무조건 써야한다.
public void test(){
}
}
//Dell200 모니터
class Dell200 extends Moniter{
public int size;
public void powerOn(){
System.out.println("모니터 켜기");
}
public void powerOFF(){
System.out.println("모니터 끄기");
}
//추상클래스를 상속받으면 추상메소드를 무조건 써야한다.
public void test(){
}
}