자바 2~6장 주관식 예상문제 (각 장별 40문제씩, 총 200문제)

자바 2~6장 주관식 예상문제 (각 장별 40문제씩, 총 200문제)


CHAPTER 02 변수와 상수

  1. 변수란 무엇인지 설명하세요.
  2. 변수의 선언과 초기화 방법을 예시 코드와 함께 설명하세요.
  3. 다음 코드에서 변수의 타입과 값을 적으세요.
    int a = 10;
    double b = 3.14;
    char c = 'A';
  4. 자바의 데이터 타입을 크게 두 가지로 구분하고 각각 예를 드세요.
  5. 기본형(Primitive type) 데이터 타입 8가지를 모두 적으세요.
  6. 참조형(Reference type) 데이터 타입이란 무엇인지 설명하세요.
  7. 변수의 이름을 지을 때 지켜야 할 규칙을 3가지 이상 적으세요.
  8. 상수를 선언하는 방법을 코드로 작성하세요.
  9. 상수와 변수의 차이점을 설명하세요.
  10. final 키워드의 용도를 설명하세요.
  11. 암시적(자동) 형 변환과 명시적(강제) 형 변환의 차이를 설명하고 예를 드세요.
  12. int형 변수를 double형 변수에 대입할 때 형 변환이 필요한지 설명하세요.
  13. double형 변수를 int형 변수에 대입할 때 발생하는 현상은?
  14. 다음 코드의 실행 결과를 예측하세요.
    int x = 5;
    double y = x;
  15. 다음 코드에서 오류가 발생하는 부분을 찾고 수정하세요.
    int x = "10";
  16. 리터럴(literal)이란 무엇인지 설명하세요.
  17. 변수의 초기화란 무엇인지 설명하세요.
  18. 변수의 범위(스코프, Scope)에 대해 설명하세요.
  19. 변수 선언과 동시에 초기화하지 않고 나중에 값을 할당할 수 있는 경우를 예로 드세요.
  20. 다음 코드의 실행 결과를 적으세요.
    int a = 3, b = 4;
    int sum = a + b;
    System.out.println(sum);
  21. 상수의 이름을 작성할 때 관례적으로 사용하는 표기법은?
  22. String 타입의 변수를 선언하고 초기화하는 코드를 작성하세요.
  23. boolean 타입 변수의 사용 예시를 작성하세요.
  24. 변수와 상수의 메모리 저장 방식 차이를 간단히 설명하세요.
  25. 같은 이름의 변수를 중복 선언하면 어떻게 되는지 설명하세요.
  26. 변수에 값을 대입하는 연산자를 쓰고, 그 의미를 설명하세요.
  27. 기본 자료형 변수와 참조 자료형 변수의 차이점을 설명하세요.
  28. 변수 선언 시 초기값을 지정하지 않으면 어떻게 되는지 설명하세요.
  29. 변수와 리터럴의 차이점을 설명하세요.
  30. 다음 코드의 결과를 서술하세요.
    int a = 10;
    int b = a;
    a = 5;
    System.out.println(b);
  31. 변수의 유효 범위(scope)를 결정하는 것은 무엇인가요?
  32. 지역변수란 무엇인지 설명하세요.
  33. 클래스 변수와 인스턴스 변수의 차이점을 간단히 쓰세요. (심화)
  34. 다음 코드에서 올바른 변수 선언문을 모두 고르세요.
    • int num1 = 1;
    • double 2num = 2.0;
    • String name = "홍길동";
    • char c = 'c';
  35. 다음 중 자바에서 사용할 수 없는 변수 이름을 모두 고르세요.
    • _num
    • $value
    • 1stValue
    • value1
  36. 상수와 변수의 사용 목적을 비교해서 서술하세요.
  37. 변수 선언 시 자료형을 반드시 명시해야 하는 이유를 설명하세요.
  38. 다음 코드에서 잘못된 부분을 찾아 고치세요.
    int x;
    System.out.println(x);
  39. 실수형 데이터 타입 두 가지와 각각의 특징을 설명하세요.
  40. 변수에 저장된 값을 다른 변수에 복사하는 코드를 작성하세요.

CHAPTER 03 연산자

  1. 연산자란 무엇인지 설명하세요.
  2. 산술 연산자의 종류를 모두 적으세요.
  3. 다음 코드의 결과를 적으세요.
    int a = 10, b = 3;
    System.out.println(a / b);
  4. 나머지 연산자(%)의 용도를 설명하세요.
  5. 단항 연산자가 무엇인지 설명하고 예를 드세요.
  6. 부호 연산자(+, -)의 사용 예를 각각 작성하세요.
  7. 논리 부정 연산자(!)의 역할과 사용 예시를 작성하세요.
  8. 증가 연산자(++)와 감소 연산자(--)의 차이를 설명하세요.
  9. 다음 코드의 결과를 예측하세요.
    int a = 1;
    System.out.println(++a);
    System.out.println(a++);
    System.out.println(a);
  10. 비교 연산자의 종류와 역할을 설명하세요.
  11. <, >, <=, >= 연산자의 사용 예시를 각각 작성하세요.
  12. 동등 비교 연산자(==, !=)의 사용 예시를 작성하세요.
  13. 논리 연산자(&&, ||)의 역할과 차이점을 설명하세요.
  14. 다음 코드에서 true가 나오는 조건식을 작성하세요.
    int x = 7;
    int y = 5;
    // 여기에 true가 되도록 조건식 작성
  15. 대입 연산자의 종류와 사용 예를 작성하세요.
  16. 복합 대입 연산자(+=, -= 등)의 사용 예시를 작성하세요.
  17. 다음 코드의 결과를 예측하세요.
    int a = 2;
    a *= 3 + 4;
    System.out.println(a);
  18. 삼항 연산자(?:)의 구조를 설명하고 예시를 작성하세요.
  19. 단일 연산자가 무엇인지 설명하세요.
  20. instanceof 연산자의 역할을 설명하고 예시를 작성하세요.
  21. 산술 연산자와 논리 연산자의 차이점을 설명하세요.
  22. 연산자의 우선순위에 대해 설명하세요.
  23. 괄호를 사용하여 연산 순서를 바꿀 수 있는 예시를 작성하세요.
  24. 다음 코드의 결과를 적으세요.
    boolean flag = true;
    flag = !flag;
    System.out.println(flag);
  25. (++) 연산자의 전위와 후위 차이를 설명하세요.
  26. 다음 코드에서 오류가 발생하는 이유를 설명하세요.
    int a = 1;
    boolean result = a > 0 && a < 5;
  27. 논리 연산자의 단축 평가(short-circuit)에 대해 설명하세요.
  28. 비교 연산자와 논리 연산자의 차이점을 서술하세요.
  29. 다음 코드의 실행 결과를 예측하세요.
    int x = 5, y = 10;
    boolean result = (x < y) && (x > 0);
    System.out.println(result);
  30. 다음 코드의 결과를 예측하세요.
    int a = 8;
    a += 2;
    a -= 3;
    System.out.println(a);
  31. 다음 코드의 결과를 예측하세요.
    int x = 3;
    int y = 10 / x;
    System.out.println(y);
  32. 다음 코드의 결과를 예측하세요.
    int x = 3;
    double y = 10 / x;
    System.out.println(y);
  33. 다음 코드의 결과를 예측하세요.
    int x = 3;
    double y = 10 / (double)x;
    System.out.println(y);
  34. 다음 코드의 결과를 예측하세요.
    boolean result = (5 > 3) && (2 < 1);
    System.out.println(result);
  35. (심화) instanceof 연산자가 언제 사용되는지 설명하세요.
  36. (심화) instanceof 연산자는 어떤 타입에서만 사용할 수 있나요?
  37. 연산자 우선순위를 변경하고 싶을 때 사용하는 기호는 무엇인가요?
  38. 다음 코드의 결과를 예측하세요.
    int a = 10;
    int b = 20;
    int max = (a > b) ? a : b;
    System.out.println(max);
  39. 증감 연산자가 반복문에서 어떻게 사용되는지 예시를 작성하세요.
  40. 다음 중 연산자가 아닌 것은 무엇인지 고르세요.
    • +
    • &&
    • ==
    • if

CHAPTER 04 제어문

  1. 제어문이란 무엇인지 설명하세요.
  2. 조건문 if의 기본 구조를 작성하세요.
  3. if-else문의 구조와 예시를 작성하세요.
  4. if-else if문의 구조와 예시를 작성하세요.
  5. 중첩 if문의 예시를 작성하세요.
  6. switch문의 기본 구조를 작성하세요.
  7. switch문에서 break가 없는 경우 어떤 일이 일어나는지 설명하세요.
  8. 다음 코드의 실행 결과를 예측하세요.
    int num = 2;
    switch(num) {
      case 1: System.out.println("one"); break;
      case 2: System.out.println("two"); break;
      default: System.out.println("other");
    }
  9. switch문에서 사용할 수 있는 데이터 타입을 모두 적으세요.
  10. if문과 switch문의 차이점을 설명하세요.
  11. 반복문(for)의 기본 구조를 작성하세요.
  12. for문을 이용해 1부터 10까지의 합을 구하는 코드를 작성하세요.
  13. while문의 기본 구조를 작성하세요.
  14. while문을 사용해 1부터 5까지 출력하는 코드를 작성하세요.
  15. do-while문의 기본 구조와 특징을 설명하세요.
  16. do-while문과 while문의 차이점을 설명하세요.
  17. break문의 역할을 설명하고 예시를 작성하세요.
  18. continue문의 역할을 설명하고 예시를 작성하세요.
  19. for문에서 break와 continue의 차이를 설명하세요.
  20. 반복문 안에 반복문이 들어가는(중첩 반복문) 예시를 작성하세요.
  21. for문, while문, do-while문 각각을 사용할 때의 특징을 비교하세요.
  22. 무한 반복문을 만드는 while문 예시를 작성하세요.
  23. 조건문에서 중괄호({})를 생략할 수 있는 경우를 설명하세요.
  24. switch문에서 default가 반드시 필요한지 설명하세요.
  25. for문에서 변수의 범위(scope)를 설명하세요.
  26. 다음 코드의 실행 결과를 예측하세요.
    for(int i=0; i<3; i++) {
      System.out.print(i + " ");
    }
  27. while문에서 조건식을 빠뜨렸을 때 어떤 일이 발생하는지 설명하세요.
  28. do-while문에서 조건식이 처음부터 false여도 반복문이 한 번 실행되는 이유를 설명하세요.
  29. break문을 사용해 반복문을 중단하는 예시를 작성하세요.
  30. continue문을 사용해 반복문의 일부를 건너뛰는 예시를 작성하세요.
  31. for문을 이용해 1부터 10까지 짝수만 출력하는 코드를 작성하세요.
  32. while문을 이용해 1부터 10까지 홀수만 출력하는 코드를 작성하세요.
  33. 중첩 if문과 중첩 반복문의 차이를 설명하세요.
  34. switch문에서 여러 case가 같은 코드를 실행하도록 만드는 방법을 설명하세요.
  35. for문, while문, do-while문 중에서 조건을 먼저 검사하지 않는 것은 무엇인가요?
  36. 반복문을 사용하지 않고 1부터 5까지 출력하는 코드를 작성하세요.
  37. 반복문을 사용하여 배열의 모든 요소를 출력하는 코드를 작성하세요.
  38. 조건문과 반복문의 차이를 설명하세요.
  39. for문에서 변수 i를 반복문 외부에서 선언하는 경우와 내부에서 선언하는 경우 차이를 설명하세요.
  40. 반복문을 활용하여 구구단 2단을 출력하는 코드를 작성하세요.

CHAPTER 05 배열

  1. 배열이란 무엇인지 설명하세요.
  2. 배열을 선언하고 생성하는 코드를 작성하세요.
  3. 배열의 인덱스는 몇부터 시작하는지 설명하세요.
  4. 배열의 크기를 구하는 방법을 코드로 작성하세요.
  5. 배열에 값을 저장하고 출력하는 예시를 작성하세요.
  6. 배열의 길이(length) 속성의 용도를 설명하세요.
  7. 배열 요소의 값을 변경하는 코드를 작성하세요.
  8. 배열을 for문을 이용해 출력하는 코드를 작성하세요.
  9. 배열을 선언만 하고 생성하지 않으면 어떻게 되는지 설명하세요.
  10. 배열을 초기화하는 방법을 두 가지 이상 작성하세요.
  11. 배열의 모든 요소의 합을 구하는 코드를 작성하세요.
  12. 배열에서 최대값 또는 최소값을 찾는 코드를 작성하세요.
  13. 2차원 배열이란 무엇인지 설명하세요.
  14. 2차원 배열의 선언과 생성을 코드로 작성하세요.
  15. 2차원 배열의 인덱스 구조를 설명하세요.
  16. 2차원 배열의 특정 요소에 값을 대입하는 코드를 작성하세요.
  17. 2차원 배열의 모든 요소를 출력하는 코드를 작성하세요.
  18. 2차원 배열의 행과 열을 바꾸어 출력하는 코드를 작성하세요.
  19. 배열을 복사하는 방법을 설명하세요.
  20. System.arraycopy()를 사용한 배열 복사 예시를 작성하세요.
  21. for-each문을 이용해 배열 요소를 출력하는 코드를 작성하세요.
  22. for-each문과 일반 for문의 차이를 설명하세요.
  23. 배열에 값을 저장할 때 인덱스 범위를 벗어나면 어떻게 되는지 설명하세요.
  24. 배열의 크기는 한 번 정해지면 변경할 수 있는지 설명하세요.
  25. 배열과 변수의 차이점을 설명하세요.
  26. 배열을 매개변수로 받아 처리하는 메서드를 작성하세요.
  27. 배열의 내용을 역순으로 출력하는 코드를 작성하세요.
  28. 다차원 배열을 활용한 예시 코드를 작성하세요.
  29. 2차원 배열에서 행 수와 열 수를 구하는 코드를 작성하세요.
  30. 배열의 요소에 저장된 값을 모두 0으로 변경하는 코드를 작성하세요.
  31. 배열의 각 요소에 1씩 더하는 코드를 작성하세요.
  32. 배열의 마지막 요소에 접근하는 코드를 작성하세요.
  33. 배열에서 특정 값을 찾는 코드를 작성하세요.
  34. 배열을 이용해 평균값을 구하는 코드를 작성하세요.
  35. 배열을 활용해야 하는 이유를 설명하세요.
  36. 배열 선언과 동시에 초기화하는 방법을 작성하세요.
  37. 2차원 배열을 for-each문으로 출력할 수 있는지 설명하세요.
  38. 배열 복사 시 얕은 복사와 깊은 복사의 차이를 설명하세요.
  39. 배열의 길이를 잘못 접근하면 생기는 오류를 설명하세요.
  40. 배열의 요소 타입으로 사용할 수 없는 것은 무엇인지 고르세요.
    • int
    • double
    • void
    • String

CHAPTER 06 클래스에 대하여

  1. 객체지향 언어란 무엇인지 설명하세요.
  2. 클래스란 무엇인지 설명하세요.
  3. 객체와 인스턴스의 차이를 설명하세요.
  4. 클래스를 선언하는 기본 구조를 작성하세요.
  5. 클래스를 사용해서 객체를 생성하는 방법을 코드로 작성하세요.
  6. 인스턴스 변수란 무엇인지 설명하세요.
  7. 클래스 변수란 무엇인지 설명하세요.
  8. 인스턴스 변수와 클래스 변수의 차이를 코드 예시와 함께 설명하세요.
  9. 메서드란 무엇인지 설명하세요.
  10. 메서드의 선언 방법을 예시 코드로 작성하세요.
  11. 매개변수(parameter)와 반환값(return value)에 대해 설명하세요.
  12. void 반환형의 의미를 설명하세요.
  13. 메서드를 호출하는 방법을 코드로 작성하세요.
  14. 클래스 멤버와 인스턴스 멤버의 차이를 설명하세요.
  15. 클래스 멤버에서 인스턴스 멤버를 바로 사용할 수 없는 이유를 설명하세요.
  16. 접근제한자(access modifier)의 종류와 역할을 설명하세요.
  17. public, private, default, protected의 차이점을 설명하세요.
  18. 생성자(Constructor)란 무엇인지 설명하세요.
  19. 기본 생성자란 무엇인지 설명하세요.
  20. 매개변수를 갖는 생성자를 코드로 작성하세요.
  21. 생성자 오버로딩에 대해 설명하세요.
  22. 생성자가 없는 경우 어떻게 되는지 설명하세요.
  23. this 키워드의 용도와 사용 예시를 작성하세요.
  24. 메서드 오버로딩이란 무엇인지 설명하세요.
  25. 다음 코드의 실행 결과를 예측하세요.
    class A {
      int x;
      A(int x) {
        this.x = x;
      }
    }
    A a = new A(10);
    System.out.println(a.x);
  26. 클래스의 멤버(필드, 메서드)에 접근하는 방법을 코드로 작성하세요.
  27. static 키워드의 의미와 용도를 설명하세요.
  28. static 메서드와 인스턴스 메서드의 차이를 예시 코드로 설명하세요.
  29. 클래스 변수와 인스턴스 변수의 초기값을 설명하세요.
  30. 생성자에서 다른 생성자를 호출하는 코드를 작성하세요.
  31. 다음 코드의 결과를 예측하세요.
    class B {
      static int y = 20;
      int z = 30;
    }
    System.out.println(B.y);
    B b = new B();
    System.out.println(b.z);
  32. 클래스와 객체의 차이점을 설명하세요.
  33. 메서드의 매개변수로 객체를 전달하는 방법을 코드로 작성하세요.
  34. 객체 배열을 선언하고 생성하는 코드를 작성하세요.
  35. 생성자의 역할을 설명하세요.
  36. 클래스의 멤버 변수와 지역 변수의 차이를 설명하세요.
  37. 접근제한자를 사용하지 않은 경우의 접근 범위를 설명하세요.
  38. 메서드에서 값을 반환하는 return문 예시를 작성하세요.
  39. 다음 코드에서 오류가 발생하는 이유를 설명하세요.
    class C {
      int x;
      void method() {
        System.out.println(y);
      }
    }
  40. 클래스의 필드와 메서드를 모두 포함하는 예시 클래스를 작성하세요.

'잡담' 카테고리의 다른 글

부분구역 캡쳐할 때  (0) 2025.05.19
시험 범위 목차 정리  (0) 2025.05.16
쉬었지만 쉰게 아니다..  (0) 2025.05.06
예전 블로그 봤는데 지금은 안 헷갈리고 할 줄 앎  (0) 2025.05.02
250501 배열 문제  (0) 2025.05.01