다형성을 이용한 객체 생성

Lucy ·2024년 7월 18일

Spring

목록 보기
4/4

우선, polymorphism package를 하나 생성한다.

polymorphism -> TV.java 인터페이스 생성

package polymorphism;

public interface TV {
	public void powerOn();
	
	public void powerOff();
	
	public void volumeUp();
	
	public void volumeDown();
}

TV 소리를 출력해줄 Speak 인터페이스도 생성

package polymorphism;

public interface Speaker {

	void volumeUp();

	void volumeDown();

}

polymorphism -> SamsungTV.java class 생성

package polymorphism;

public class SamsungTV implements TV{
   
    @Override
    public void powerOn() {
        System.out.println("SamsungTV 전원을 켠다.");
    }
 
    @Override
    public void powerOff() {
        System.out.println("SamsungTV 전원을 끈다.");
    }
 
    @Override
    public void volumeUp() {
        System.out.println("SamsungTV 볼륨을 올린다.");
    }
 
    @Override
    public void volumeDown() {
        System.out.println("SamsungTV 볼륨을 내린다.");
    }

polymorphism -> LgTV.java 클래스 생성

package polymorphism;
 
public class LgTV implements TV {
 
    @Override
    public void powerOn() {
        System.out.println("LgTV 전원을 켠다.");
    }
 
    @Override
    public void powerOff() {
        System.out.println("LgTV 전원을 끈다.");
    }
 
    @Override
    public void volumeUp() {
        System.out.println("LgTV 볼륨을 올린다.");
    }
 
    @Override
    public void volumeDown() {
        System.out.println("LgTV 볼륨을 내린다.");
    }
}

TVuser.java 클래스 생성

package polymorphism;
 
public class TVuser {
    public static void main(String[] args) {
        TV tv = new SamsungTV();
        tv.powerOn();
        tv.volumeUp();
        tv.volumeDown();
        tv.powerOff();
        
        System.out.println();
        
        TV tv = new LgTV();
        tv.powerOn();
        tv.volumeUp();
        tv.volumeDown();
        tv.powerOff();
            /*
                SamsungTV 전원을 켠다.
                SamsungTV 볼륨을 올린다.
                SamsungTV 볼륨을 내린다.
                SamsungTV 전원을 끈다.
                
                LgTV 전원을 켠다.
                LgTV 볼륨을 올린다.
                LgTV 볼륨을 내린다.
                LgTV 전원을 끈다.
             */
    }
}
profile
비전공자의 개발일기

0개의 댓글