JAVA

추상화

웹개발자준비 2018. 7. 25. 19:26

추상 클래스, 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(){


}



}