정보처리기사 실기 Java 문제 8선 정답과 해설

작성·검토정보처리기사 학습센터 편집부 게시일 최종 확인일

정보처리기사 실기 Java 문제에서 자주 확인하는 상속, 오버라이딩, static, 문자열, 배열, 예외처리를 학습용 재구성 문제로 정리했습니다. 코드를 실행하기 전에 출력값을 종이에 먼저 적어보세요.

상속과 오버라이딩

문제 1

Parent의 print()는 P를, Child가 재정의한 print()는 C를 출력합니다. Parent p = new Child(); p.print();의 출력은 무엇인가요?

정답: C

인스턴스 메서드는 실제 생성된 객체의 재정의 메서드가 호출됩니다. 참조변수 타입이 Parent여도 객체가 Child이므로 C가 출력됩니다.

문제 2

Parent 생성자는 P를 출력하고 Child 생성자는 C를 출력합니다. new Child();를 실행한 결과는 무엇인가요?

정답: PC

자식 객체를 만들 때 부모 생성자가 먼저 실행되고 자식 생성자가 이어서 실행됩니다.

static과 인스턴스

문제 3

class Count { static int n = 0; Count(){ n++; } }에서 Count 객체를 세 개 만들고 Count.n을 출력하면 결과는 무엇인가요?

정답: 3

static 필드는 모든 객체가 하나를 공유합니다.

문제 4

static 메서드에서 this를 사용할 수 있는지 답하세요.

정답: 사용할 수 없습니다.

this는 현재 인스턴스를 가리키지만 static 메서드는 특정 인스턴스 없이 호출될 수 있습니다.

문자열과 배열

문제 5

String a = "java"; String b = new String("java");에서 a == b와 a.equals(b)의 결과를 차례대로 쓰세요.

정답: false, true

==는 참조값을 비교하고 equals는 문자열 내용을 비교합니다.

문제 6

int[] a = {2, 4, 6}; int sum = 0; for(int v : a){ sum += v; } System.out.print(sum);의 출력은 무엇인가요?

정답: 12

향상된 for문이 배열의 각 값을 한 번씩 v에 넣습니다.

다형성과 추상화

문제 7

인터페이스에 선언된 추상 메서드를 구현 클래스가 반드시 재정의해야 하는지 답하세요.

정답: 구현 클래스가 추상 클래스가 아니라면 반드시 재정의해야 합니다.

구현하지 않은 추상 메서드가 남으면 그 클래스도 abstract로 선언해야 합니다.

예외 처리

문제 8

try에서 ArithmeticException이 발생하고 이를 catch가 처리한 뒤 finally가 있다면 실행 순서를 쓰세요.

정답: try 실행 중 예외 발생 → 일치하는 catch 실행 → finally 실행

finally는 일반적으로 예외 발생 여부와 관계없이 실행됩니다. 단, 프로세스가 강제로 종료되는 특수 상황은 제외합니다.

Java 출력 문제 풀이 순서

  1. 클래스의 상속 관계와 실제 생성 객체를 표시합니다.
  2. static 필드와 인스턴스 필드를 구분합니다.
  3. 생성자 호출 순서를 부모부터 적습니다.
  4. 오버로딩은 매개변수, 오버라이딩은 실제 객체를 기준으로 판단합니다.
  5. 문자열은 ==와 equals를 구분합니다.

C 문제, SQL 문제, Python 문제도 함께 풀면 언어별 문법이 섞이는 실수를 줄일 수 있습니다.

같은 분류의 글

XP(eXtreme Programming) 모델 5대 가치 리눅스 Bash 쉘에서 export란? 정보처리기사 실기 Python 문제 8선 정답과 해설 정보처리기사 실기 C 문제 8선 정답과 해설 정보처리기사 실기 SQL 문제 10선 정답과 해설
카톡에서 정보 얻기