티스토리 뷰
LAB#3 : 싱글톤 하늘

LAB#4 : 인터페이스 상속과 구현

Q. A a = new D(); 이 무슨 뜻이지?
- A a = new D(); #a의 관점으로 실제 객체 D의 메소드에 접근.
즉, A에 있는 것만 D에서 쏙 골라서 보여준다.
LAB#5 : 리모컨 만들기……….

Q. 디폴트 메소드면 인터페이스 implements해도 똑같은 메소드 없어도 되는거야?
네 👍
디폴트 메서드(default method) 는 인터페이스에 “미리 구현된 메서드”라서, implements 하는 클래스가 굳이 다시 구현하지 않아도 됩니다.
Q. this.rc = tv; 는 무슨 뜻이야?
this.rc = tv;는 생성자에서 전달받은 TV 객체를, MyRemoteControl 내부의 rc 필드에 저장하는 코드예요.
Q. this.rc = rc; 는 무슨 뜻이야?
- this.rc = rc; → “생성자로 전달받은 어떤 RemoteRole 구현체든 내 필드 rc에 저장한다”
Q. this.rc = tv;랑 rc = new TV(); 이거랑 같은거야?
| 코드 | 의미 | 특징 |
|---|---|---|
this.rc = tv; |
외부에서 만들어진 TV 객체를 받아서 필드에 저장 | ✅ 유연함 (이미 있는 객체를 재사용) |
rc = new TV(); |
생성자 안에서 새로운 TV 객체를 직접 생성 | ❌ 유연성 없음 (항상 새 객체) |
Q. 이렇게 인터페이스 관점+new 생성 쓰는 게 가능해?
TV클래스가RemoteRole인터페이스를implements했기 때문에,
TV 객체는 RemoteRole로 “취급될 수 있음”.- 참조 변수 타입을 인터페이스로 두면 → 그 인터페이스에 정의된 메서드만 호출 가능.
- 실제 동작은
new TV()에 들어있는 코드가 실행됨.
Q. 흠..........좀 더 이해하기 쉽게 설명해줄래.. 두 방식의 차이를 잘 모르겠어.. 1. 인터페이스 이용 방식 VS 2. 리모컨 객체 이용 방식
- 1번 : 리모컨 인터페이스 타입 참조 변수 mr은 하나인데,
mr = new TV();함으로써 TV 전용처럼 사용하고(TV리모컨),mr = new Audio();함으로써 AUDIO 전용(Audio 리모컨)처럼 사용하는 거. - 2번 : MyRemoteControl이라는 만능 리모컨 클래스가 있고, 버튼(changeMode)로 tv, audio, car 바꾸며 조종
'학교 강의 > Java프로그래밍및실습2' 카테고리의 다른 글
| [Thread] JAVA에서의 Thread (0) | 2025.09.25 |
|---|---|
| 제네릭과 컬렉션 5 문제 만들기 (0) | 2025.09.20 |
| 배틀 리팩토링 - 모듈화를 중심으로 (2) | 2025.09.13 |
| 0910 자프실2 수업 복기 (0) | 2025.09.11 |
| Spring boot를 위한 java jdk 17 이상 버전으로 바꿔보기 (3) | 2025.08.29 |
