hyeonga_code

Spring_스프링 프레임워크 비교_다형성을 이용한 방식 본문

Spring

Spring_스프링 프레임워크 비교_다형성을 이용한 방식

hyeonga 2023. 12. 14. 05:59
반응형


- 다형성을 이용한 방식

    - basic.spring.polymorphism > 'TV.java' 인터페이스 생성
=====

1
2
3
4
5
6
7
8
package basic.spring.polymorphism;
 
public interface TV {
    public void powerOn();
    public void powerOff();
    public void volumeUp();
    public void volumeDown();
}



    - basic.spring.polymorphism > 'SamsungTV2.java' 클래스 생성
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package basic.spring.polymorphism;
 
public class SamsungTV2 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 볼륨을 내린다.");
    }
}





    - basic.spring.polymorphism > 'LgTV2.java' 클래스 생성
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package basic.spring.polymorphism;
 
public class LgTV2 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 볼륨을 내린다.");
    }
}



    - basic.spring.polymorphism > 'TVUser2.java' 클래스 생성
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package basic.spring.polymorphism;
 
public class TVUser2 {
    public static void main(String[] args) {
        TV tv = new SamsungTV2();
        tv.powerOn();
        tv.volumeUp();
        tv.volumeDown();
        tv.powerOff();
        
        System.out.println();
        
        TV tv2 = new LgTV2();
        tv2.powerOn();
        tv2.volumeUp();
        tv2.volumeDown();
        tv2.powerOff();
            /*
                SamsungTV 전원을 켠다.
                SamsungTV 볼륨을 올린다.
                SamsungTV 볼륨을 내린다.
                SamsungTV 전원을 끈다.
                
                LgTV 전원을 켠다.
                LgTV 볼륨을 올린다.
                LgTV 볼륨을 내린다.
                LgTV 전원을 끈다.
             */
    }
}
 

 

반응형