everyday com-eat
작성일
2021. 12. 13. 14:54
작성자
갱수터
728x90

1. 코드를 쓴 상황

인터페이스 내부의 정적 메서드를 호출해야하는 상황 인터페이스 데이터 타입으로 인터페이스를 상속받은 클래스의 생성자로 객체를 만들었음.

2. 에러메시지

3. 내 코드

public class Exam {

	public static void main(String[] args) {
		Controllable tv = new TV("길동이");
		tv.reset();
	}
}


interface Controllable {
	default void repair() {
		System.out.println("서비스센터에서 수리해야 한다.");
	}
	
	static void reset() {
		System.out.println("내가 초기화할 수 있다.");
	}
	
	void power(boolean onOff);
}

class TV implements Controllable {
	String who;
	TV(String who) {
		this.who = who;
	}
		public void power(boolean onOff) {
		if(onOff == true)
			System.out.println(who+"가 전원을 켠다");
		else
			System.out.println(who+"가 전원을 끈다");
	}
}

4. 해결

	public static void main(String[] args) {
		Controllable tv = new TV("길동이");
		Controllable.reset();
	}

정적 메서드라 상속이 안된다고 하는데... 잘 모르겠다...

728x90