1. 자바 프로그램의 기본 구조
자바 프로그램은 클래스 단위로 작성한다.
예시
public class Main {
public static void main(String[] args) {
System.out.println("Hello");
}
}
핵심 개념
- 클래스명과 파일명은 보통 같아야 한다.
main()메서드가 프로그램 시작점이다.System.out.println()은 출력이다.;세미콜론으로 문장을 끝낸다.
시험 포인트
main메서드 형식을 자주 물음- 클래스, 메서드, 출력문 구조를 구분해야 함
2. 변수와 자료형
변수는 값을 저장하는 공간이다.
기본 자료형
int: 정수double: 실수char: 문자 1개boolean: 참/거짓
참조 자료형
- 배열
- 클래스
- 문자열(String)
예시
int a = 10;
double b = 3.14;
char c = 'A';
boolean d = true;
String e = "Java";
핵심 개념
- 문자 하나는
' '사용 - 문자열은
" "사용 - 기본형은 값 자체 저장
- 참조형은 주소 개념으로 접근
시험 포인트
char와String구분- 기본형과 참조형 구분
3. 연산자
산술 연산자
+: 더하기-: 빼기*: 곱하기/: 나누기%: 나머지
증감 연산자
++: 1 증가--: 1 감소
비교 연산자
==,!=,>,<,>=,<=
논리 연산자
&&: AND||: OR!: NOT
핵심 개념
a++: 후위 증가, 먼저 사용 후 증가++a: 전위 증가, 먼저 증가 후 사용
예시
int a = 5;
System.out.println(a++); // 5
System.out.println(a); // 6
시험 포인트
- 전위/후위 증가 결과
- 정수 나눗셈 결과
5 / 2는2
- 문자열과 숫자 결합
"A" + 1→"A1"
4. 조건문
if문
조건이 참일 때 실행한다.
if (x > 0) {
System.out.println("양수");
}
if ~ else
참/거짓에 따라 실행이 나뉜다.
if (x % 2 == 0) {
System.out.println("짝수");
} else {
System.out.println("홀수");
}
switch문
여러 경우 중 하나를 선택한다.
switch (n) {
case 1:
System.out.println("하나");
break;
case 2:
System.out.println("둘");
break;
default:
System.out.println("기타");
}
핵심 개념
switch에서는break없으면 아래 case까지 계속 실행될 수 있다.default는 모든 case에 해당하지 않을 때 실행
시험 포인트
break빠졌을 때 결과- 조건문의 실행 순서
5. 반복문
for문
횟수가 정해진 반복에 주로 사용
for (int i = 0; i < 3; i++) {
System.out.println(i);
}
while문
조건이 참인 동안 반복
int i = 0;
while (i < 3) {
System.out.println(i);
i++;
}
do-while문
무조건 한 번은 실행
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 3);
핵심 개념
for: 초기식, 조건식, 증감식while: 조건 먼저 검사do-while: 실행 후 조건 검사
시험 포인트
- 반복 횟수 계산
- 중첩 반복문 결과
break,continue차이
6. 배열
배열은 같은 자료형 여러 개를 하나로 묶은 것이다.
int[] arr = {10, 20, 30};
System.out.println(arr[0]); // 10
핵심 개념
- 인덱스는 0부터 시작
- 배열 길이는
length - 자바 배열은 참조형이다
예시
int[] arr = new int[3];
System.out.println(arr.length); // 3
시험 포인트
- 인덱스 범위
arr.length는 필드이고length()아님- 배열을 메서드에 넘기면 참조가 전달되므로 원본 요소 변경 가능
7. 메서드
메서드는 특정 기능을 수행하는 코드 묶음이다.
static int add(int a, int b) {
return a + b;
}
구성 요소
- 반환형
- 메서드명
- 매개변수
- return문
핵심 개념
void는 반환값 없음return은 값을 돌려주고 메서드 종료- 매개변수는 호출 시 값을 전달받음
시험 포인트
- 반환형과 실제 반환값 일치 여부
- 메서드 호출 순서
- static 메서드와 일반 메서드 구분
8. 클래스와 객체
클래스
객체를 만들기 위한 설계도
객체
클래스를 바탕으로 생성된 실제 데이터
class Person {
String name;
int age;
}
Person p = new Person();
p.name = "Kim";
p.age = 20;
핵심 개념
- 클래스 안에는 변수(필드)와 메서드가 들어갈 수 있다.
new로 객체 생성- 객체 접근은
.사용
시험 포인트
- 클래스와 객체 차이
- 객체 생성 문법
- 필드값 변경과 메서드 호출
9. 생성자
생성자는 객체가 만들어질 때 자동 호출되는 특별한 메서드다.
class Person {
String name;
Person() {
name = "홍길동";
}
}
핵심 개념
- 생성자 이름은 클래스명과 같음
- 반환형을 쓰지 않음
- 객체 생성 시 자동 호출
- 생성자를 안 만들면 기본 생성자가 자동 제공될 수 있음
시험 포인트
- 생성자 호출 시점
- 생성자 오버로딩
- 부모/자식 생성자 실행 순서
10. 오버로딩과 오버라이딩
오버로딩
같은 이름의 메서드를 매개변수 다르게 여러 개 정의
int add(int a, int b) { return a + b; }
int add(int a, int b, int c) { return a + b + c; }
오버라이딩
상속 관계에서 부모 메서드를 자식이 다시 정의
class A {
void print() {
System.out.println("A");
}
}
class B extends A {
void print() {
System.out.println("B");
}
}
핵심 개념
- 오버로딩: 이름 같음, 매개변수 다름
- 오버라이딩: 상속 관계, 내용 재정의
시험 포인트
- 둘의 차이 구분
- 실행 결과에서 어떤 메서드가 호출되는지 판단
11. 상속
상속은 기존 클래스를 물려받아 새로운 클래스를 만드는 것이다.
class A {
int x = 10;
}
class B extends A {
int y = 20;
}
핵심 개념
extends사용- 자식 클래스는 부모의 멤버를 물려받음
- 코드 재사용 가능
시험 포인트
- 부모 → 자식 관계
- 생성자 호출 순서
- 상속받은 필드/메서드 사용 가능 여부
12. 다형성
부모 타입으로 자식 객체를 참조할 수 있다.
A obj = new B();
핵심 개념
- 참조 변수 타입은 A
- 실제 객체 타입은 B
- 인스턴스 메서드는 실제 객체 기준
- 정적 메서드는 참조 변수 타입 기준
이 부분이 시험에 매우 잘 나온다.
예시
class A {
static String nu() { return "A"; }
String mo() { return "a"; }
}
class B extends A {
static String nu() { return "B"; }
String mo() { return "b"; }
}
A obj = new B();
System.out.println(obj.nu() + obj.mo());
결과
obj.nu()→ Aobj.mo()→ b- 최종 결과는
Ab
시험 포인트
- 정적 메서드와 인스턴스 메서드 호출 기준 차이
- 다형성 문제 결과
13. static
static은 클래스에 속하는 멤버다.
class Test {
static int x = 10;
}
핵심 개념
- 객체마다 따로 생기는 것이 아니라 클래스 전체가 공유
클래스명.변수명형태로 접근 가능- static 메서드 안에서는 일반 인스턴스 변수 직접 사용 불가
static 초기화 순서
- static 변수 초기화
- static 블록 실행
- main 실행
예시
class Test {
static int x = f();
static int f() {
System.out.print("A");
return 1;
}
static {
x++;
}
public static void main(String[] args) {
System.out.print(x);
}
}
결과는 A2
시험 포인트
- static 변수와 static 블록 실행 순서
- static 멤버의 공유 개념
14. this와 super
this
현재 객체 자신을 가리킨다.
this.name = name;
super
부모 클래스 멤버를 가리킨다.
super.print();
핵심 개념
this(): 같은 클래스의 다른 생성자 호출super(): 부모 생성자 호출- 생성자 첫 줄에서 자주 사용
시험 포인트
this와super차이- 부모 생성자 호출 여부
15. 접근 제어자
public: 어디서나 접근 가능private: 같은 클래스 내부에서만 접근 가능protected: 상속 관계나 같은 패키지에서 접근 가능- default : 같은 패키지에서만 접근 가능
핵심 개념
- 보안과 캡슐화 관련
- 시험에서는 주로
private와public구분 위주
16. 예외 처리
예외는 프로그램 실행 중 발생하는 오류 상황이다.
try-catch-finally
try {
int a = 10 / 0;
} catch (Exception e) {
System.out.println("오류");
} finally {
System.out.println("항상 실행");
}
핵심 개념
try: 예외 발생 가능 코드catch: 예외 처리finally: 예외 발생 여부와 상관없이 실행
중요한 시험 포인트
try안에return이 있어도finally는 실행된다.- 단,
finally에서 반환값을 다시 바꾸지 않으면 원래 return 값은 유지된다.
17. 문자열
문자열은 String 클래스 사용
String s = "Java";
자주 쓰는 것
length(): 길이charAt(i): i번째 문자equals(): 문자열 비교
핵심 개념
- 문자열 비교는
==보다equals()를 쓰는 것이 원칙 +로 문자열 연결 가능
시험 포인트
"A" + 1결과- 문자열 길이/문자 추출
==와equals()차이
'정보처리산업기사' 카테고리의 다른 글
| 정보처리산업기사 실기 C언어 문법 정리 (0) | 2026.04.07 |
|---|---|
| 정보처리산업기사 실기 Java 기출 10문제 (0) | 2026.04.07 |
| 정보처리산업기사 실기 SQL 개념 키워드 정리 (1) | 2026.04.06 |
| 정보처리산업기사 실기 SQL 명령어 키워드 정리 (0) | 2026.04.06 |
| 필기/제3과목 시스템분석설계 51번 ~ 60번 문제 (0) | 2026.02.02 |