Java/Interface

클래스 -> 인터페이스 형변환

Bohemian life 2012. 4. 11. 17:24
package com.inter2;//인터페이스 타입으로 형변환

interface A{
	public abstract int getA();
}

public class Round02 implements A{
	//인터페이스 A의 추상메소드 getA()를 구현
	public int getA(){
		return 10;
	}
	public String getMsg(){
		return "겨울";
	}

	public static void main(String[] args) {
		Round02 rd = new Round02();
		System.out.println(rd.getA());
		System.out.println(rd.getMsg());
		
		A a = rd; //클래스 타입 -> 인터페이스 타입
					//자동적으로 형변환
		System.out.println(a.getA());
		/*System.out.println(a.getMsg());
		호출 영역을 벗어나 호출 불가
		인터페이스 안에 있는 추상메소드만 인식됨*/
		
		Round02 rd2 = (Round02)a; //인터페이스 타입 -> 클래스 타입
									//명시적 형변환
		
		System.out.println(rd2.getA());
		System.out.println(rd2.getMsg());
	}

}

10

겨울
10
10
겨울