방통대/Java

6강 - Java 제네릭과 람다식 연습 문제

꿈꾸는 몽나 2024. 3. 29. 23:07
728x90

문제1. 다음과 같은 제네릭 클래스가 있다고 가정하자. 보기에서 문법적으로 오류가 있는 것은?

1. Data<int> d = new Data<>();

2. Data<Integer> d = new Data<>();

3. Data<String> d = new Data<String>();

4. Data d = new Data();

 

 

 

 

 

 

정답 : 1

풀이 : 기본 자료형은 타입 매개변수로 지정할 수 없다.

 

 

 

 

 

 

 

 

 

 

 

문제2. 다음과 같은 인터페이스가 있다고 가정할 때, 보기에서 람다식 사용이 잘못된 것은?

1. Addable ad = (int a, int b) -> { return (a+b);};

2. Addable ad = (int a, int b) -> a+b;

3. Addable ad = (a, b) -> return (a+b);

4. Addable ad = (a, b) -> (a+b);

 

 

 

 

 

정답 : 3

풀이 : 자료형은 생략 가능하다. 하지만 실행문이 return뿐이라면 return과 (수식 다음의) 세미콜론, 중괄호를 동시에 생략하고 1개의 수식만 적어야 함.

 

ex) Addable ad = (a, b) -> { return a+b; };

 

 

 

 

 

 

 

 

 

 

 

문제3. Java에서 제공되는 표준 함수형 인터페이스 중 Supplier<T>에서 선언된 추상 메소드의 이름과 형식은 각각 무엇인가?

 

 

 

 

 

 

 

정답 : T get()

풀이 : Supplier<T>는 T get()메소드를 가진다.

 

 

728x90