본문 바로가기

개발자노트

클래스) 추상메서드

package class02;



abstract class Po  {
	String name;
	abstract void func1() ; // 각각의 몬스터마다 고유한 액션 -> 오버라이딩 => "강제"했으면 좋을텐데..
	// 추상 메서드 : 메서드바디{}를 갖지 않는다.
	// 오버라이딩이 강제되었다면, 동적바인딩에 의해 자식 메서드만 출력될 것이기 때문에..
	// 추상 메서드를 하나라도 가지게 된다면, 그 클래스는 추상클래스가 되어야함.
	// 동적바인딩에 의해서 참조가 될 일이 없음!! 그래서 {} 바디가 있을 필요가 없음!!

	abstract void func2() ; // 각각의 몬스터마다 고유한 액션 -> 오버라이딩 
	
	

	void func3() {
		System.out.println("도망");
	}

	void func4() {
		System.out.println("밥먹기");
	}

}

class Pika extends Po {

	@Override
	void func1() {
		
		
	}

	@Override
	void func2() {
		
		
	}

	

}

public class Test03 {

	public static void main(String[] args) {
		

	}

}