Spring/Spring Quick Start

스프링/인터페이스와 임플리먼트 사이 에러

ITGenerations 2019. 5. 19. 13:51

인터페이스 소스와 임플리먼트한 소스에서 동일하게 이용되어야하며 이러한 규칙을 지키지 않을시에는 에러가 발생하는데 동일한 소스를 이용하지 않았으므로 따로 큰 에러가 발생하지는 않는다. 

 

 

-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();
}
}

-TV.java 인터페이스-

package polymorphism;

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

}

 

-SamsungTV.java 클래스-

package polymorphism;

public class SamsungTV implements TV {
public void powerOn(){
System.out.println("samsungtv on");
}
public void powerOff(){
System.out.println("samsungtv off");
}
public void volumeUp(){
System.out.println("samsungtv volumeUp");
}
public void volumeDown(){
System.out.println("samsungtv volumeDown");
}

}

 

 

필자는 SamsungTV클래스와 TV클래스간에 사용되는 클래스 volumeUp()을 오타를 내서 다르게 사용하고 있었습니다.

인터페이스 이전에는 tv.voumeUp(); 이런식으로 써도 자동완성기능이 있기때문에 그래도 따로 손대지 않아도 정상적으로 작동했습니다. 초보자가 많이 하는 실수중 하나겠죠?