정보처리기사 실기 — 06 프로그래밍 언어 활용 정리
NCS·교재에서 통상 「Ⅵ. 프로그래밍 언어 활용」 또는 6장 프로그래밍 언어 활용으로 묶이는 범위입니다. 실기 코드 문제는 주로 Java 또는 C가 출제되고, 단답·필답에서는 객체지향 개념, 모듈·결합도·응집도, 예외 처리, 컬렉션·문자열, JVM·JDBC 등이 다른 단원과 겹쳐 나오기도 합니다. 본 문서는 언어 구문·OOP·품질(모듈) 중심으로 정리합니다.
1. 이 단원이 다루는 것
| 소단원(일반적 구성) | 핵심 키워드 |
|---|---|
| 기본 문법 | 변수·상수, 자료형, 연산자, 형 변환, 입출력(printf/scanf, System.out 등) |
| 제어문 | 조건문(if, switch), 반복문(for, while, do-while), break/continue |
| 배열·문자열 | 인덱스, 2차원 배열, 문자열 비교·길이·부분 문자열 |
| 메서드·함수 | 시그니처, 매개변수·반환형, 오버로딩, 스코프(지역·전역) |
| 객체지향 | 클래스·객체, 캡슐화·상속·다형성·추상화, this, 생성자, 오버라이딩 |
| 고급(교재별) | 추상 클래스·인터페이스, 예외(try-catch-finally, throws), 컬렉션, 제네릭(개념) |
| 모듈·품질 | 모듈화, 결합도·응집도, 재사용 |
2. 변수·자료형·연산자
변수: 값을 담는 이름 붙은 기억 장소. 상수는 변경 불가 값(예: final).
기본형(대표, Java 기준 예시): 정수형(byte short int long), 실수형(float double), 논리형(boolean), 문자형(char). C에서는 int, float, double, char 등.
참조형: 클래스·배열·인터페이스 타입 — 힙에 객체가 있고 변수는 참조(주소)를 담는 경우가 많음(Java).
형 변환: 묵시적(자동) — 범위가 넓은 쪽으로; 명시적(캐스팅) — 데이터 손실 가능 시 (타입) 표기.
연산자: 산술, 관계(==, !=, <, …), 논리(&& || !), 대입, 삼항 조건 ? 참 : 거짓, 증감(++ --). 우선순위 문제는 괄호로 의도를 분명히.
3. 제어문
| 분류 | 요지 |
|---|---|
| 조건문 | if–else if–else, switch(정수·열거·문자열 등 언어별 허용 범위) |
| 반복문 | 조건 반복 while, 선실행 do-while, 횟수·범위 for, 향상된 for(foreach) |
| 분기 제어 | break(반복·switch 탈출), continue(다음 반복으로) |
off-by-one: 배열 인덱스 0 ~ length-1 — 반복 조건에서 자주 실수합니다.
4. 배열·문자열
- 배열: 같은 타입의 고정 길이 묶음(Java는
new int[n]). 2차원은 “배열의 배열”로 이해. - 문자열: 불변(immutable) 객체인 경우가 많음(Java
String) — 연결 시 매번 새 객체가 되어 비효율적일 수 있어StringBuilder등을 씀(개념·서술용). - 비교: 참조형은
==가 참조 동일인지일 수 있어, 내용 비교는equals()(Java) 등 API를 사용.
5. 메서드(함수)
- 시그니처: 이름 + 매개변수 목록(타입·순서·개수). 반환형은 시그니처에 포함하지 않는 정의도 있음(교재별).
- 오버로딩(Overloading): 같은 이름, 매개변수만 다름 — 컴파일 타임에 결정.
- 오버라이딩(Overriding): 상속 관계에서 부모 메서드를 자식이 재정의 — 동적 바인딩(다형성).
6. 객체지향 프로그래밍(OOP)
네 가지(다섯 가지) 특성 — 단답 빈출
| 키워드 | 시험용 한 줄 |
|---|---|
| 캡슐화 | 데이터·구현을 클래스 안에 묶고, 접근 제어자로 외부 노출 최소화 |
| 정보 은닉 | 내부 구현 세부를 숨기고 필요한 인터페이스만 공개(캡슐화와 함께 자주 언급) |
| 상속 | 기존 클래스를 확장해 코드 재사용·계층화 |
| 다형성 | 같은 호출이 객체에 따라 다른 구현을 실행(오버라이딩 + 업캐스팅 등) |
| 추상화 | 공통 속성·행동을 모델로 단순화해 표현 |
클래스·객체·생성자
- 클래스는 설계도, 객체는 런타임 인스턴스.
- 생성자: 객체 생성 시 호출, 이름=클래스명, 반환형 없음. 기본 생성자·매개변수 생성자·다른 생성자 호출
this(...).
추상 클래스 vs 인터페이스(개념 비교)
| 추상 클래스 | 인터페이스(전형적) | |
|---|---|---|
| 목적 | 공통 필드·구현 공유, 부분적 추상 | 규약(계약) 선언, 다중 구현 효과 |
| 상속 | 단일 상속(Java) | 클래스는 여러 인터페이스 구현 가능 |
7. 예외 처리(Exception)
목적: 런타임 오류를 정상 흐름과 분리해 복구·로깅·메시지 처리.
| 키워드 | 역할 |
|---|---|
try |
예외가 날 수 있는 코드 |
catch |
타입별 처리 |
finally |
예외 여부와 관계없이 실행(자원 해제 등) |
throws |
메서드가 호출자에게 처리 위임 선언 |
Checked vs Unchecked(Java): Exception 하위 중 선언·처리 강제 여부로 나뉘는 분류(교재·시험에 따라 용어만 맞추면 됨).
8. 컬렉션·제네릭(요지)
- 컬렉션:
List(순서·중복),Set(중복 없음),Map(키-값) 등 자료 구조를 클래스로 제공. - 제네릭(
List<T>): 컴파일 시 타입을 고정해 형 안전성·캐스팅 감소.
9. 모듈화와 품질 지표
| 용어 | 의미 |
|---|---|
| 모듈화 | 시스템을 분해·추상화해 모듈로 나누는 설계 기법 — 재사용·유지보수 향상 |
| 결합도(Coupling) | 모듈 간 의존 정도 — 낮을수록 좋음 |
| 응집도(Cohesion) | 모듈 내부 요소가 한 목적에 모인 정도 — 높을수록 좋음 |
단답: “(①)은 줄이고 (②)는 높여야 한다” → ① 결합도, ② 응집도
10. Java 실기에서 자주 붙는 주변 개념
| 키워드 | 한 줄 |
|---|---|
| JVM | .class 바이트코드 실행 → 플랫폼 독립성 |
| JDBC | DB 연결·SQL 실행 표준 API(자세한 것은 03 데이터 입출력 참고) |
| 프레임워크 | 재사용성 향상, 제어의 역행(IoC) — 호출 주도권이 프레임워크 쪽 |
11. 스레드(교재에 포함될 때만 요약)
- 프로세스 vs 스레드: 실행 단위; 스레드는 같은 프로세스 메모리 공유 → 동기화(synchronized 등) 이슈.
- 교착(Deadlock): 자원을 서로 기다리며 무한 대기.
12. 시험 직전 체크리스트
- OOP 5특성 이름 + 한 줄씩(상속·추상화·다형성·캡슐화·정보은닉)
- 오버로딩 vs 오버라이딩 구분
-
==vsequals(문자열·객체 내용 비교) - 배열 인덱스 범위,
break/continue -
try–catch–finally,throws역할 - 결합도↓ 응집도↑, 모듈화 정의
- JVM·바이트코드·플랫폼 독립(단답)
- 추상 클래스 vs 인터페이스 — 목적·다중 구현 한 줄
13. 이 저장소의 관련 자료
정보처리기사_실기_단답형_100제_문제-정답-해설.md— 005(OOP), 040042(결합도·응집도·모듈화), 044(IoC·프레임워크), 056(JVM), 051(JDBC), 084089(디자인 패턴 일부)info/정보처리기사-실기-03-데이터-입출력-구현-정리.md— JDBC, SQL과 연계info/정보처리기사-실기-Java-문제모음.md,info/정보처리기사-실기-문제-C언어.md— 코드 유형 연습
본 문서는 NCS·일반 교재 구성을 바탕으로 학습용으로 정리한 것이며, 시험 공고·출제 범위는 매년 한국산업인력공단 공식 안내를 확인하세요.
'BackEnd > 정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 — 08 서버 프로그램 구현 정리 (1) | 2026.04.26 |
|---|---|
| 정보처리기사 실기 - 07. SQL 응용 정리 (1) | 2026.04.25 |
| 정보처리기사 실기 — 05 인터페이스 구현 정리 (1) | 2026.04.22 |
| # 정보처리기사 실기 — 04 통합구현 정리 (0) | 2026.04.21 |
| 정보처리기사 실기 — 03 데이터 입출력 구현 정리 (0) | 2026.04.20 |