자바 2~6장 주관식 예상문제 (각 장별 40문제씩, 총 200문제)
CHAPTER 02 변수와 상수
- 변수란 무엇인지 설명하세요.
- 변수의 선언과 초기화 방법을 예시 코드와 함께 설명하세요.
- 다음 코드에서 변수의 타입과 값을 적으세요.
int a = 10; double b = 3.14; char c = 'A'; - 자바의 데이터 타입을 크게 두 가지로 구분하고 각각 예를 드세요.
- 기본형(Primitive type) 데이터 타입 8가지를 모두 적으세요.
- 참조형(Reference type) 데이터 타입이란 무엇인지 설명하세요.
- 변수의 이름을 지을 때 지켜야 할 규칙을 3가지 이상 적으세요.
- 상수를 선언하는 방법을 코드로 작성하세요.
- 상수와 변수의 차이점을 설명하세요.
- final 키워드의 용도를 설명하세요.
- 암시적(자동) 형 변환과 명시적(강제) 형 변환의 차이를 설명하고 예를 드세요.
- int형 변수를 double형 변수에 대입할 때 형 변환이 필요한지 설명하세요.
- double형 변수를 int형 변수에 대입할 때 발생하는 현상은?
- 다음 코드의 실행 결과를 예측하세요.
int x = 5; double y = x; - 다음 코드에서 오류가 발생하는 부분을 찾고 수정하세요.
int x = "10"; - 리터럴(literal)이란 무엇인지 설명하세요.
- 변수의 초기화란 무엇인지 설명하세요.
- 변수의 범위(스코프, Scope)에 대해 설명하세요.
- 변수 선언과 동시에 초기화하지 않고 나중에 값을 할당할 수 있는 경우를 예로 드세요.
- 다음 코드의 실행 결과를 적으세요.
int a = 3, b = 4; int sum = a + b; System.out.println(sum); - 상수의 이름을 작성할 때 관례적으로 사용하는 표기법은?
- String 타입의 변수를 선언하고 초기화하는 코드를 작성하세요.
- boolean 타입 변수의 사용 예시를 작성하세요.
- 변수와 상수의 메모리 저장 방식 차이를 간단히 설명하세요.
- 같은 이름의 변수를 중복 선언하면 어떻게 되는지 설명하세요.
- 변수에 값을 대입하는 연산자를 쓰고, 그 의미를 설명하세요.
- 기본 자료형 변수와 참조 자료형 변수의 차이점을 설명하세요.
- 변수 선언 시 초기값을 지정하지 않으면 어떻게 되는지 설명하세요.
- 변수와 리터럴의 차이점을 설명하세요.
- 다음 코드의 결과를 서술하세요.
int a = 10; int b = a; a = 5; System.out.println(b); - 변수의 유효 범위(scope)를 결정하는 것은 무엇인가요?
- 지역변수란 무엇인지 설명하세요.
- 클래스 변수와 인스턴스 변수의 차이점을 간단히 쓰세요. (심화)
- 다음 코드에서 올바른 변수 선언문을 모두 고르세요.
- int num1 = 1;
- double 2num = 2.0;
- String name = "홍길동";
- char c = 'c';
- 다음 중 자바에서 사용할 수 없는 변수 이름을 모두 고르세요.
- _num
- $value
- 1stValue
- value1
- 상수와 변수의 사용 목적을 비교해서 서술하세요.
- 변수 선언 시 자료형을 반드시 명시해야 하는 이유를 설명하세요.
- 다음 코드에서 잘못된 부분을 찾아 고치세요.
int x; System.out.println(x); - 실수형 데이터 타입 두 가지와 각각의 특징을 설명하세요.
- 변수에 저장된 값을 다른 변수에 복사하는 코드를 작성하세요.
CHAPTER 03 연산자
- 연산자란 무엇인지 설명하세요.
- 산술 연산자의 종류를 모두 적으세요.
- 다음 코드의 결과를 적으세요.
int a = 10, b = 3; System.out.println(a / b); - 나머지 연산자(%)의 용도를 설명하세요.
- 단항 연산자가 무엇인지 설명하고 예를 드세요.
- 부호 연산자(+, -)의 사용 예를 각각 작성하세요.
- 논리 부정 연산자(!)의 역할과 사용 예시를 작성하세요.
- 증가 연산자(++)와 감소 연산자(--)의 차이를 설명하세요.
- 다음 코드의 결과를 예측하세요.
int a = 1; System.out.println(++a); System.out.println(a++); System.out.println(a); - 비교 연산자의 종류와 역할을 설명하세요.
- <, >, <=, >= 연산자의 사용 예시를 각각 작성하세요.
- 동등 비교 연산자(==, !=)의 사용 예시를 작성하세요.
- 논리 연산자(&&, ||)의 역할과 차이점을 설명하세요.
- 다음 코드에서 true가 나오는 조건식을 작성하세요.
int x = 7; int y = 5; // 여기에 true가 되도록 조건식 작성 - 대입 연산자의 종류와 사용 예를 작성하세요.
- 복합 대입 연산자(+=, -= 등)의 사용 예시를 작성하세요.
- 다음 코드의 결과를 예측하세요.
int a = 2; a *= 3 + 4; System.out.println(a); - 삼항 연산자(?:)의 구조를 설명하고 예시를 작성하세요.
- 단일 연산자가 무엇인지 설명하세요.
- instanceof 연산자의 역할을 설명하고 예시를 작성하세요.
- 산술 연산자와 논리 연산자의 차이점을 설명하세요.
- 연산자의 우선순위에 대해 설명하세요.
- 괄호를 사용하여 연산 순서를 바꿀 수 있는 예시를 작성하세요.
- 다음 코드의 결과를 적으세요.
boolean flag = true; flag = !flag; System.out.println(flag); - (++) 연산자의 전위와 후위 차이를 설명하세요.
- 다음 코드에서 오류가 발생하는 이유를 설명하세요.
int a = 1; boolean result = a > 0 && a < 5; - 논리 연산자의 단축 평가(short-circuit)에 대해 설명하세요.
- 비교 연산자와 논리 연산자의 차이점을 서술하세요.
- 다음 코드의 실행 결과를 예측하세요.
int x = 5, y = 10; boolean result = (x < y) && (x > 0); System.out.println(result); - 다음 코드의 결과를 예측하세요.
int a = 8; a += 2; a -= 3; System.out.println(a); - 다음 코드의 결과를 예측하세요.
int x = 3; int y = 10 / x; System.out.println(y); - 다음 코드의 결과를 예측하세요.
int x = 3; double y = 10 / x; System.out.println(y); - 다음 코드의 결과를 예측하세요.
int x = 3; double y = 10 / (double)x; System.out.println(y); - 다음 코드의 결과를 예측하세요.
boolean result = (5 > 3) && (2 < 1); System.out.println(result); - (심화) instanceof 연산자가 언제 사용되는지 설명하세요.
- (심화) instanceof 연산자는 어떤 타입에서만 사용할 수 있나요?
- 연산자 우선순위를 변경하고 싶을 때 사용하는 기호는 무엇인가요?
- 다음 코드의 결과를 예측하세요.
int a = 10; int b = 20; int max = (a > b) ? a : b; System.out.println(max); - 증감 연산자가 반복문에서 어떻게 사용되는지 예시를 작성하세요.
- 다음 중 연산자가 아닌 것은 무엇인지 고르세요.
- +
- &&
- ==
- if
CHAPTER 04 제어문
- 제어문이란 무엇인지 설명하세요.
- 조건문 if의 기본 구조를 작성하세요.
- if-else문의 구조와 예시를 작성하세요.
- if-else if문의 구조와 예시를 작성하세요.
- 중첩 if문의 예시를 작성하세요.
- switch문의 기본 구조를 작성하세요.
- switch문에서 break가 없는 경우 어떤 일이 일어나는지 설명하세요.
- 다음 코드의 실행 결과를 예측하세요.
int num = 2; switch(num) { case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; default: System.out.println("other"); } - switch문에서 사용할 수 있는 데이터 타입을 모두 적으세요.
- if문과 switch문의 차이점을 설명하세요.
- 반복문(for)의 기본 구조를 작성하세요.
- for문을 이용해 1부터 10까지의 합을 구하는 코드를 작성하세요.
- while문의 기본 구조를 작성하세요.
- while문을 사용해 1부터 5까지 출력하는 코드를 작성하세요.
- do-while문의 기본 구조와 특징을 설명하세요.
- do-while문과 while문의 차이점을 설명하세요.
- break문의 역할을 설명하고 예시를 작성하세요.
- continue문의 역할을 설명하고 예시를 작성하세요.
- for문에서 break와 continue의 차이를 설명하세요.
- 반복문 안에 반복문이 들어가는(중첩 반복문) 예시를 작성하세요.
- for문, while문, do-while문 각각을 사용할 때의 특징을 비교하세요.
- 무한 반복문을 만드는 while문 예시를 작성하세요.
- 조건문에서 중괄호({})를 생략할 수 있는 경우를 설명하세요.
- switch문에서 default가 반드시 필요한지 설명하세요.
- for문에서 변수의 범위(scope)를 설명하세요.
- 다음 코드의 실행 결과를 예측하세요.
for(int i=0; i<3; i++) { System.out.print(i + " "); } - while문에서 조건식을 빠뜨렸을 때 어떤 일이 발생하는지 설명하세요.
- do-while문에서 조건식이 처음부터 false여도 반복문이 한 번 실행되는 이유를 설명하세요.
- break문을 사용해 반복문을 중단하는 예시를 작성하세요.
- continue문을 사용해 반복문의 일부를 건너뛰는 예시를 작성하세요.
- for문을 이용해 1부터 10까지 짝수만 출력하는 코드를 작성하세요.
- while문을 이용해 1부터 10까지 홀수만 출력하는 코드를 작성하세요.
- 중첩 if문과 중첩 반복문의 차이를 설명하세요.
- switch문에서 여러 case가 같은 코드를 실행하도록 만드는 방법을 설명하세요.
- for문, while문, do-while문 중에서 조건을 먼저 검사하지 않는 것은 무엇인가요?
- 반복문을 사용하지 않고 1부터 5까지 출력하는 코드를 작성하세요.
- 반복문을 사용하여 배열의 모든 요소를 출력하는 코드를 작성하세요.
- 조건문과 반복문의 차이를 설명하세요.
- for문에서 변수 i를 반복문 외부에서 선언하는 경우와 내부에서 선언하는 경우 차이를 설명하세요.
- 반복문을 활용하여 구구단 2단을 출력하는 코드를 작성하세요.
CHAPTER 05 배열
- 배열이란 무엇인지 설명하세요.
- 배열을 선언하고 생성하는 코드를 작성하세요.
- 배열의 인덱스는 몇부터 시작하는지 설명하세요.
- 배열의 크기를 구하는 방법을 코드로 작성하세요.
- 배열에 값을 저장하고 출력하는 예시를 작성하세요.
- 배열의 길이(length) 속성의 용도를 설명하세요.
- 배열 요소의 값을 변경하는 코드를 작성하세요.
- 배열을 for문을 이용해 출력하는 코드를 작성하세요.
- 배열을 선언만 하고 생성하지 않으면 어떻게 되는지 설명하세요.
- 배열을 초기화하는 방법을 두 가지 이상 작성하세요.
- 배열의 모든 요소의 합을 구하는 코드를 작성하세요.
- 배열에서 최대값 또는 최소값을 찾는 코드를 작성하세요.
- 2차원 배열이란 무엇인지 설명하세요.
- 2차원 배열의 선언과 생성을 코드로 작성하세요.
- 2차원 배열의 인덱스 구조를 설명하세요.
- 2차원 배열의 특정 요소에 값을 대입하는 코드를 작성하세요.
- 2차원 배열의 모든 요소를 출력하는 코드를 작성하세요.
- 2차원 배열의 행과 열을 바꾸어 출력하는 코드를 작성하세요.
- 배열을 복사하는 방법을 설명하세요.
- System.arraycopy()를 사용한 배열 복사 예시를 작성하세요.
- for-each문을 이용해 배열 요소를 출력하는 코드를 작성하세요.
- for-each문과 일반 for문의 차이를 설명하세요.
- 배열에 값을 저장할 때 인덱스 범위를 벗어나면 어떻게 되는지 설명하세요.
- 배열의 크기는 한 번 정해지면 변경할 수 있는지 설명하세요.
- 배열과 변수의 차이점을 설명하세요.
- 배열을 매개변수로 받아 처리하는 메서드를 작성하세요.
- 배열의 내용을 역순으로 출력하는 코드를 작성하세요.
- 다차원 배열을 활용한 예시 코드를 작성하세요.
- 2차원 배열에서 행 수와 열 수를 구하는 코드를 작성하세요.
- 배열의 요소에 저장된 값을 모두 0으로 변경하는 코드를 작성하세요.
- 배열의 각 요소에 1씩 더하는 코드를 작성하세요.
- 배열의 마지막 요소에 접근하는 코드를 작성하세요.
- 배열에서 특정 값을 찾는 코드를 작성하세요.
- 배열을 이용해 평균값을 구하는 코드를 작성하세요.
- 배열을 활용해야 하는 이유를 설명하세요.
- 배열 선언과 동시에 초기화하는 방법을 작성하세요.
- 2차원 배열을 for-each문으로 출력할 수 있는지 설명하세요.
- 배열 복사 시 얕은 복사와 깊은 복사의 차이를 설명하세요.
- 배열의 길이를 잘못 접근하면 생기는 오류를 설명하세요.
- 배열의 요소 타입으로 사용할 수 없는 것은 무엇인지 고르세요.
- int
- double
- void
- String
CHAPTER 06 클래스에 대하여
- 객체지향 언어란 무엇인지 설명하세요.
- 클래스란 무엇인지 설명하세요.
- 객체와 인스턴스의 차이를 설명하세요.
- 클래스를 선언하는 기본 구조를 작성하세요.
- 클래스를 사용해서 객체를 생성하는 방법을 코드로 작성하세요.
- 인스턴스 변수란 무엇인지 설명하세요.
- 클래스 변수란 무엇인지 설명하세요.
- 인스턴스 변수와 클래스 변수의 차이를 코드 예시와 함께 설명하세요.
- 메서드란 무엇인지 설명하세요.
- 메서드의 선언 방법을 예시 코드로 작성하세요.
- 매개변수(parameter)와 반환값(return value)에 대해 설명하세요.
- void 반환형의 의미를 설명하세요.
- 메서드를 호출하는 방법을 코드로 작성하세요.
- 클래스 멤버와 인스턴스 멤버의 차이를 설명하세요.
- 클래스 멤버에서 인스턴스 멤버를 바로 사용할 수 없는 이유를 설명하세요.
- 접근제한자(access modifier)의 종류와 역할을 설명하세요.
- public, private, default, protected의 차이점을 설명하세요.
- 생성자(Constructor)란 무엇인지 설명하세요.
- 기본 생성자란 무엇인지 설명하세요.
- 매개변수를 갖는 생성자를 코드로 작성하세요.
- 생성자 오버로딩에 대해 설명하세요.
- 생성자가 없는 경우 어떻게 되는지 설명하세요.
- this 키워드의 용도와 사용 예시를 작성하세요.
- 메서드 오버로딩이란 무엇인지 설명하세요.
- 다음 코드의 실행 결과를 예측하세요.
class A { int x; A(int x) { this.x = x; } } A a = new A(10); System.out.println(a.x); - 클래스의 멤버(필드, 메서드)에 접근하는 방법을 코드로 작성하세요.
- static 키워드의 의미와 용도를 설명하세요.
- static 메서드와 인스턴스 메서드의 차이를 예시 코드로 설명하세요.
- 클래스 변수와 인스턴스 변수의 초기값을 설명하세요.
- 생성자에서 다른 생성자를 호출하는 코드를 작성하세요.
- 다음 코드의 결과를 예측하세요.
class B { static int y = 20; int z = 30; } System.out.println(B.y); B b = new B(); System.out.println(b.z); - 클래스와 객체의 차이점을 설명하세요.
- 메서드의 매개변수로 객체를 전달하는 방법을 코드로 작성하세요.
- 객체 배열을 선언하고 생성하는 코드를 작성하세요.
- 생성자의 역할을 설명하세요.
- 클래스의 멤버 변수와 지역 변수의 차이를 설명하세요.
- 접근제한자를 사용하지 않은 경우의 접근 범위를 설명하세요.
- 메서드에서 값을 반환하는 return문 예시를 작성하세요.
- 다음 코드에서 오류가 발생하는 이유를 설명하세요.
class C { int x; void method() { System.out.println(y); } } - 클래스의 필드와 메서드를 모두 포함하는 예시 클래스를 작성하세요.
'잡담' 카테고리의 다른 글
| 부분구역 캡쳐할 때 (0) | 2025.05.19 |
|---|---|
| 시험 범위 목차 정리 (0) | 2025.05.16 |
| 쉬었지만 쉰게 아니다.. (0) | 2025.05.06 |
| 예전 블로그 봤는데 지금은 안 헷갈리고 할 줄 앎 (0) | 2025.05.02 |
| 250501 배열 문제 (0) | 2025.05.01 |