본문 바로가기

개발자노트

클래스 ) 인터페이스

package class06;

// [인터페이스]

class Phone{
	Watch watch;
	void soundUp() {
		watch.soundUp();
	}
	void soundDown() {
		watch.soundDown();
	}
}
class Watch implements usePhone{
	
	
	@Override
	public void soundUp() {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void soundDown() {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void power() {
		// TODO Auto-generated method stub
		
	}
}
public class Test04 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
package class06;
// [인터페이스]
public interface usePhone {
	// Phone 클래스와 연동하려는 모든 클래스들은
	// 해당 인터페이스를 구현해야만한다!!
	// => 메서드 명을 "강제"하는 목적으로
	
	// extends를 통한 다중상속이 안돼서,
	// -> implements를 통해서 보완!
	
	
	public abstract void soundUp();  // public abstract 가 숨어있다.
	void soundDown();
	void power();
	
	int maxSound=100; // 변수가 아닌 "상수" 
	public static final int minSound=0; // public static final이 숨어있다.
	// 인터페이스 안에 있는 값들은 모두가 상수 목적으로 설정하기 때문에
}