핵심 개념 정리
프로그래밍기능사 핵심 개념 정리
프로그래밍기능사 필기 과목 「프로그래밍언어, 응용SW기초기술, SQL활용, 정보시스템기초기술」의 핵심 개념 17개를 모았습니다. 개념마다 뜻과 예제를 보고, 그중 3개에는 대표 기출도 실었습니다.
이렇게 보세요
출제기준의 주요항목 순서대로 놓았습니다. 위에서부터 읽으면 시험 범위를 출제기준 차례대로 따라갈 수 있습니다. 개념 쪽을 열면 그 개념의 뜻과 예제, 자주 묻는 물음을 보고 바로 문제를 풀어 볼 수 있습니다.
프로그래밍언어, 응용SW기초기술, SQL활용, 정보시스템기초기술 (17)
프로그래밍 언어 활용 및 응용
- 기초문법 — 언어 번역기와 시스템 소프트웨어 — 프로그래밍 언어가 기계가 이해하는 형태로 실행되기까지의 과정과, 실행 환경을 제공하는 시스템 소프트웨어의 역할을 이해하는 것이 기초문법의 핵심이다. 언어 번역기에는 어셈블러·컴파일러·인터프리터가 있고, 실행 준비와 적재를 담당하는 프로그램에는 로더와 재배치 로더가 있으며, 전체 시스템 자원을 관리하는 운영체제가 있다.
- 순차구문 — 언어 번역기와 실행 순서 — 프로그램은 소스 코드를 기계가 알아듣는 형태로 바꾸는 과정을 거쳐 실행된다. 이 번역과 실행을 맡는 처리기가 무엇인지, 그리고 저장 위치를 무엇으로 지정하는지가 순차구문 단원의 기본 개념이 된다.
- 선택구문 — 언어 번역 프로그램과 0-주소 명령어 — 소스 코드를 기계가 이해하는 언어로 바꾸는 도구에는 어셈블러, 컴파일러, 인터프리터가 있다. 번역된 코드가 실제로 실행되려면 로더가 메모리에 적재한다. 명령어 형식과 CPU 동작 단계, 상태를 유지하는 제어 워드도 함께 구분한다.
- 반복구문 — 반복제어·루프 — 이 개념 세트의 자료는 프로그래밍 실행 방식과 시스템 소프트웨어의 기본 역할을 설명하는 문제들로 구성되어 있다고 정리한다
- 컴파일러 — 언어 번역 — 컴파일러는 고수준 언어로 작성된 소스 코드를 한 번에 기계어로 번역하여 목적 프로그램을 생성하는 언어 번역 도구라는 점을 이해한다.
응용SW 기초 기술활용
- 프로토콜 — IP주소와 시분할 다중화 — 인터넷에 연결된 컴퓨터는 일정한 규칙에 따라 주소를 갖는다. 210.103.4.1처럼 4개의 필드를 마침표로 구분한 주소가 IP주소이고, TCP/IP 프로토콜에서 사용한다. 여러 신호를 하나의 전송로에 실을 때는 시간을 나누는 시분할 다중화 방식을 적용한다.
- OSI 모델 — 네트워크 주소와 구성 요소 — OSI 모델을 다루는 네트워크 기초에서는 주소 표기와 구성 요소를 구분한다. 숫자와 마침표로 된 주소는 IP주소로 판별하고, 영문자로 된 이름은 도메인 주소로 구분한다. 인터넷의 출발 배경과 네트워크 장비, 시스템 소프트웨어의 역할도 함께 확인한다.
- IP — IP주소 표기와 도메인 — 인터넷에 연결된 컴퓨터는 저마다 고유한 주소를 가진다. 숫자와 마침표로 된 IP주소와 영문자로 된 도메인 이름이 그것이다. 두 주소 체계와 그 연결, 그리고 인터넷을 이루는 배경을 함께 익힌다.
- TCP/UDP — 인터넷 주소와 시분할 다중화 — TCP/UDP 개념을 확인하는 재료는 인터넷 주소 표기, 인터넷의 발전 배경, 도메인 이름 체계, 시분할 다중화의 특징을 함께 다룬다. 숫자와 마침표로 된 주소와 영문자 도메인 이름을 구분하고, 인터넷이 군사·학술 목적에서 출발해 상업적 활용으로 확장된 흐름을 살린다. 시분할 다중화가 시간 슬롯을 나누어 전송하는 동기식 방식이라는 점도 함께 확인한다.
- 데이터베이스 개념 — 테이블·레코드·필드의 포함 관계 — 데이터베이스의 용어는 범위가 계층적으로 나뉜다. 테이블은 여러 레코드를 담고, 레코드는 여러 필드를 담는다. 이 포함 관계를 뒤집으면 용어의 범위를 잘못 판단한다.
- 데이터 모델링 이해(개념적, 논리적, 물리적) — 데이터베이스 구조와 번역·적재 — 데이터베이스 용어의 범위를 구분하고, 언어 번역 프로그램과 로더의 역할, 프로세스 스케줄링, 주소 지정 방식을 함께 확인한다. 보조 프로그램과 시스템 설정 항목의 차이도 구분한다.
- E-R 모델링 — 데이터 계층과 명령 코드 — E-R 모델링을 이해하려면 데이터베이스 안에서 데이터가 어떤 단위로 묶이는지 먼저 구분한다. 재료에서는 테이블, 레코드, 필드의 포함 관계를 다루고, 명령어가 연산 코드와 번지부로 나뉘는 구조도 함께 확인한다. 범위 비교와 비트 수 계산은 구조를 계층과 구성 요소로 나누어 볼 때 풀린다.
- 데이터베이스 유형 및 특징 — 계층 구조와 기억장치 — 데이터베이스의 데이터는 테이블과 레코드, 필드로 계층을 이룬다. 컴퓨터 내부에서는 명령어 형식과 주소 지정 방식, 그리고 CPU와 기억장치 사이의 고속 저장소가 정보 처리 속도를 좌우한다. 이 요소들의 포함 관계와 역할을 구분하는 것이 핵심이다.
- 데이터 무결성 — 데이터베이스 구조와 CPU 제어 워드 — 데이터베이스의 데이터는 테이블·레코드·필드의 포함 관계로 조직된다. 컴퓨터가 이 데이터를 처리하려면 CPU 내부의 여러 레지스터와 입출력 채널이 각자 맡은 역할을 나눠 수행한다. 범위 관계와 장치별 역할을 구분하는 것이 이 단원의 핵심이다.
- 자료구조 기본 — 데이터 계층과 주소 지정 — 데이터베이스의 데이터는 테이블·레코드·필드의 포함 관계로 조직된다. 컴퓨터가 명령어를 실행할 때는 주소를 해석하는 방식과 명령어 형식, 그리고 각 장치의 역할 구분이 문제의 갈림길이 된다.
개발자 환경 구축
- 개발환경 설정 — 운영체제와 로더 — 개발환경을 갖춘다는 것은 프로그램을 작성하고 실행하는 데 필요한 소프트웨어와 하드웨어의 역할을 이해하는 일에서 시작한다. 하드웨어를 제어하는 운영체제, 객체 파일을 메모리에 올리는 로더, 여러 프로세스에 CPU 시간을 배분하는 스케줄링이 각각 어디에 속하는지를 구분해야 한다.
- 개발도구 설치 및 설정 — 로더와 인터럽트 — 개발도구 설치 및 설정을 이해할 때 시스템 소프트웨어와 하드웨어의 역할 구분이 기준이 된다. 로더는 실행 파일을 메모리에 적재하고, 인터럽트는 예기치 않은 사건에 CPU가 반응하도록 하며, CPU 동작 단계와 명령어 구성은 프로그램 실행의 기본 흐름을 이룬다.