자바 제어자2 (modifier) - 2. abstract

Ⅱ. abstract (추상화)

1. 추상화의 종류

 - 추상 클래스

 - 인터페이스

 

2. abstact(추상) 메소드

    ※ 추상화 : 뚜렷한게 형태가 있지 않지만, 그것을 표현해 둠

 - 뚜렷하게 기능이 정의되어 있지 않은, 선언 부분만 존재하는 메소드

 

// Example
package sample;

// 추상 메소드가 하나라도 있으면, 클래스는 '추상 클래스'여야 함
abstract class Animal {
	// abstract : 기능 없이 상속만 가능 (중괄호를 없애야 함)
	abstract void hunting(); 
}

class Eagle extends Animal {
	void hunting() {
		System.out.println("생쥐 사냥");
	}
}

class Puma extends Animal {
	void hunting() {
		System.out.println("사슴 사냥");
	}
}

public class Main {
	public static void main(String[] args) {
		Animal a = new Eagle();
		Animal b = new Puma();
        
		a.hunting();	// 생쥐 사냥
		b.hunting();	// 사슴 사냥
	}
}