JAVA/연습문제
쉽게 배우는 자바 프로그래밍 2판 10장 연습문제 Part.1 (1번 ~ 5번)
세언이
2022. 11. 1. 20:40
반응형

# 개발 공부하는 초보자가 작성한 답안이니 정답이 아닐 수 있습니다!!!
1. 다음 중 람다식으로 적합하지 않은 것은?
- () -> {}
- a -> "apple"
- i -> return "hi " + i
- (a, b) -> a + b
🧤정답🧤
3번
해설 :
return문으로 나타낼 때에는 대괄호({})가 필요하다.
ex) i -> { return "hi" + i; };
2. 다음 중 함수형 인터페이스는?
- interface Computable { void add() }
- interface Computable { void add(); }
- interface Computable { void add() { } }
- interface Computable { void add(); void sub(); }
🧤정답🧤
2번
해설 :
인터페이스는 추상클래스이므로 몸통만 없을 수 있다.
3. 다음과 같은 람다식에 적용할 수 있는 가장 적절한 함수형 인터페이스는? 여기서 m은 임의의 클래스의 객체이며 getNumber()는 int 타입의 번호를 반환하는 메서드이다.
m -> m.getNumber()
1. ToIntFunction
2. IntFunction
3. BinaryOperator
4. Consumer
🧤정답🧤
1번
해설 :
ToIntFunction는 객체를 int로
IntFunction는 int를 객체로
Consumer는 반환타입이 void이다.
4. 클래스 Box는 정숫값을 반환하는 getHeight()라는 메서드를 포함한다고 가정할 때 다음 코드가 문법적으로 적절하다. (O, X)
📢주어진 조건📢
Predicate<Box> p = (Box b) -> b.getHeight();
🧤정답🧤
X
해설 :
Predicate의 반환 값은 boolean이기 때문에 정수값으로 반환하는 메서드를 이용할 수 없다.
5. 다음과 같은 함수형 인터페이스가 있다.
📢주어진 조건📢
interface Foo{
int foo();
}
아래 실행문을 테스트 프로그램에 포함하면 문법적으로 오류가 발생한다. (O, X)
📢주어진 조건📢
Foo f = () -> System.out.println("어이쿠!");
🧤정답🧤
O
해설 :
반환 값이 int형 타입이어야 하기 때문에 오류가 발생한다.
반응형