1.필드 다형성
구현 객체만을 교체하여 각 구현 객체에 인터페이스에서 오버라이딩된 메소드를 사용할수있다.
1-1.인터페이스
public interface RemoteCotrol {
public int Max_VOLUME=10;
public int Min_VOLUME=0;
public void Turn_on();
public void Turn_off();
}
interface Internet{
public void connect_internet();
}
1-2.실체 클래스
class Television implements RemoteCotrol,Internet{
@Override
public void Turn_on() {
System.out.println("TV ON");
}
public void Turn_off(){
System.out.println("TV OFF");
}
public void connect_internet(){
System.out.println("INTERNET CONNECTED");
}
}
class Computer implements RemoteCotrol,Internet{
@Override
public void Turn_on() {
System.out.println("Computer ON");
}
public void Turn_off(){
System.out.println("Computer OFF");
}
public void connect_internet(){
System.out.println("INTERNET CONNECTED");
}
}
1-3.다형성
package a12_Interface;
public class a12 {
public static void main(String[] args){
RemoteCotrol remote1;
remote1= new Television();
remote1.Turn_on();
remote1= new Computer();
remote1.Turn_on();
}
}
//출력
TV ON
Computer ON
2.매개 변수 다형성
매개변수마다 다른 생성자, 메소드를 실행하여 다형성을 구현한다.
package a12_Interface;
public class Myclass {
RemoteCotrol rc;
Myclass(Television tv){
tv.Turn_on();
}
Myclass(Computer com){
com.Turn_on();
}
}
package a12_Interface;
public class a12 {
public static void main(String[] args){
Myclass a = new Myclass(new Television());
Myclass b = new Myclass(new Computer());
}
}
//출력
TV ON
Computer ON
'Language > JAVA' 카테고리의 다른 글
[Java] 중첩클래스 인스턴츠 멤버,정적,로컬 클래스 (0) | 2024.05.19 |
---|---|
[Java] 인터페이스 (0) | 2024.05.17 |
[Java] 추상클래스 (0) | 2024.05.16 |