테마
프로그래밍 언어 활용
실기 시험에서 가장 배점이 큰 영역이다. C·Java·Python 코드를 주고 실행 결과를 적으라는 문제가 매 회 여러 개 나온다. 문법을 외우기보다 연산자 우선순위(operator precedence), 증감 연산자, 포인터(pointer), 상속과 오버라이딩(overriding)처럼 결과가 갈리는 지점을 손으로 따라가는 연습이 필요하다. 여기서는 C, Java, Python 순서로 다룬다.
학습 순서
- 자료형·연산자·표기법 — 자료형 크기, 연산자 우선순위, 증감·나눗셈·비트 연산, 헝가리안 표기법(Hungarian notation) (출제 빈도: 높음)
- 제어문과 반복문 — if·switch의 폴스루(fall-through), for·while·do-while, break·continue (출제 빈도: 높음)
- C 배열과 포인터 — 주소 연산과 역참조(dereference), 배열과 포인터의 관계, 이중 포인터, 문자열 (출제 빈도: 높음)
- C 구조체·함수·표준 라이브러리 — 구조체 멤버 접근, 값·주소 전달, 재귀(recursion), stdio·string·stdlib 함수 (출제 빈도: 높음)
- Java 클래스·상속·생성자 — 생성자 호출 순서, this·super, 오버로딩(overloading)·오버라이딩, static, 동적 바인딩(dynamic binding) (출제 빈도: 높음)
- Java 추상 클래스·인터페이스·예외 — abstract·interface, try·catch·finally 실행 순서, 주요 예외 클래스 (출제 빈도: 높음)
- Python 기본: 리스트·range·슬라이스 — 인덱싱과 음수 인덱스, 슬라이싱(slicing), range, 리스트 메서드 (출제 빈도: 높음)
- Python 기본: 리스트·range·슬라이스 2 — 딕셔너리·집합, 문자열 메서드, 리스트 컴프리헨션(list comprehension), 나눗셈 (출제 빈도: 높음)
- Python 람다·클래스·함수 — 람다(lambda), 클래스와 상속, 기본값 매개변수, 인자 전달 (출제 빈도: 높음)
