소프트웨어공학

Java_소스코드_인터페이스 구현, this 연산자, 매개변수 전달, lamp, implements, setCommand

스윙스윙 2022. 1. 21. 09:20

▣ Java_소스코드_인터페이스 구현, this 연산자, 매개변수 전달, lamp, implements, setCommand

 

2017년 34번

 

정답 : 2번, 3번

 

2)번 위 코드에서 LampOnCommand 메소드의 매개변수로 thelamp로 전달되므로, 매개변수가 아닌 LampOnCommnad의 속성인 theLamp를 나타내기 위해서는 this.theLamp로 명시해야 함

 

3)번의 경우 이의 신청을 통해 "setCommand(theCommand);"와 같이 세미콜론까지 지문에 있어야 오류가 아니나 지문상의 보기만으로는 오류이므로 이의신청이 받아 들여짐

theCommand를 인자로 받아 다시 setCommand를 호출하고 있음

1) Command는 interface임. LampOnCommnad는 인터페이스인 Command를 실체화한 클래스임

implements가 맞음

 

4) Button객체는 Command 형식의 인자를 받아야 하는데 lampOnCommand는 Command형식이 맞음

 

this를 사용하면, 메서드의 인수나 변수에 필드와 같은 이름을 붙여도 그것들을 구분하여 사용할 수 있습니다. this는 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할때 사용됩니다.