728x90
728x90

* 이 글은 제가 공부하기 위해 최대한 사실에 입각해 내용을 적으려고 하지만 일부 내용들이 정확하지 않을 수 있습니다.

   혹시나 잘못된 부분이 있으면 너그럽게 이해해주시고 피드백 부탁드려요!

 


1. 클래스가 인터페이스를 구현할 때 사용하는 예약어는?

더보기

답 : implements

 

2. 인터페이스에 대한 설명으로 올바르지 않은 것은?

1️⃣ 하나의 클래스에서 여러 인터페이스를 구현 할 수 있다.

2️⃣ 타입이 인터페이스인 경우 다양한 구현 객체를 대입할 수 있다.

3️⃣ 구현객체를 인터페이스로 형변환하려면 강제 형변환을 해야한다.

4️⃣ 인터페이스에 정의된 추상 메서드는 구현 클래스에서 반드시 재정의해서 구현해야 한다.

더보기

답 : 3번

 

3. 다음과 같이 Player라는 인터페이스를 정의하고, 출력결과도 아래와 같이 출력될 수 있도록 Player 인터페이스를 상속받는 BaseBallPlayer와 FootballPlayer 클래스를 정의하시오.

package chapter09;

interface Player {
	// 추상 메서드
	void play();
}

public class Excercise3 {
	public static void main(String[] args) {
		Player p1 = new BaseBallPlayer();
		Player p2 = new FootBallPlayer();
		
		playGame(p1);
		playGame(p2);
		
	}
	
	public static void playGame(Player p) {
		p.play();
	}
}
더보기
package chapter09;

interface Player {
	// 추상 메서드
	void play();
}

public class Excercise3 {
	public static void main(String[] args) {
		Player p1 = new BaseBallPlayer();
		Player p2 = new FootBallPlayer();
		
		playGame(p1);
		playGame(p2);
		
	}
	
	public static void playGame(Player p) {
		p.play();
	}
}

class BaseBallPlayer implements Player {
	public void play() {
		System.out.println("야구선수가 야구를 합니다.");
	}
}

class FootBallPlayer implements Player {
	public void play() {
		System.out.println("축구선수가 축구를 합니다.");
	}
}

 

4. 아래 Tv라는 인터페이스를 만들고 Excercise4 클래스의 main() 메서드에서 Tv 인터페이스의 익명 구현 객체를 생성해 실행 결과가 동일하게 출력되도록 코드를 완성하시오.

package chapter09;

interface Tv {
	// 추상 메서드
	void play();
}

public class Excercise3 {
	public static void main(String[] args) {
		Player p1 = new BaseBallPlayer();
		Player p2 = new FootBallPlayer();
		
		playGame(p1);
		playGame(p2);
		
	}
	
	public static void playGame(Player p) {
		p.play();
	}
}
더보기
package chapter09;

interface Tv {
	 // 추상 메서드
	void turnOn();
}

public class Excercise4 {
	public static void main(String[] args) {
		// 코드 작성
		Tv p1 = new Tv() {
			public void turnOn() {
				System.out.println("tv를 켭니다.");
			}
		};
		
		
		
		p1.turnOn();
	}
}

 

728x90
300x250