정보처리기사 실기JavaJava 람다난이도 3MCQ

정보처리기사 실기 Java 람다 기출문제 #3889

문제

다음 Java 코드의 출력 결과는?

Java
public class Main { static interface F { int apply(int x) throws Exception; } public static int run(F f) { try { return f.apply(3); } catch (Exception e) { return 7; } } public static void main(String[] args) { F f = (x) -> { if (x > 2) { throw new Exception(); } return x * 2; }; System.out.print(run(f) + run((int n) -> n + 9)); } }

① 12 ② 19 ③ 7 ④ 21

정답

2

해설

정답: 2. 첫 번째 run(f)는 x=3에서 예외가 발생해 7을 반환하고, 두 번째 run은 3+9=12를 반환하므로 합은 19이다.

오답 풀이

  • 1번: 첫 번째 run의 예외 처리 결과 7을 누락했다.
  • 2번: 7 + 12 = 19로 맞다.
  • 3번: 두 번째 run 결과를 누락했다.
  • 4번: 첫 번째 람다의 정상 반환값을 잘못 더한 값이다.

보충 개념 람다식도 함수형 인터페이스의 구현체로 전달될 수 있다. 예외가 발생하면 catch 블록의 반환값이 사용된다.

정보처리기사 실기 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] Java 람다 Java 기출 #3889 | 문어CBT