본문 바로가기
언어/JAVA

[JAVA] 추상클래스

by Rudy 2022. 4. 6.

 

추상 클래스

  • 구현 코드 없이 메서드의 선언만 있는 추상 메서드를 포함한 클래스
  • 메서드 선언: 반환타입, 메서드 이름, 매개변수로 구성
  • 메서드 정의: 메서드 구현과 동일한 의미 구현부를 가진다.
  • 추상 클래스는 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();
	}

}

'언어 > JAVA' 카테고리의 다른 글

[JAVA]Static 변수  (0) 2022.03.24
삼항연산자를 이용한 더 큰 수 입출력하기  (0) 2022.03.06
상수, 강제 형변환, 증감 연산자  (0) 2022.02.05
java-출력, 변수, 자료형  (0) 2022.01.12

댓글