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(); 이런식으로 써도 자동완성기능이 있기때문에 그래도 따로 손대지 않아도 정상적으로 작동했습니다. 초보자가 많이 하는 실수중 하나겠죠?