topic난이도 · 약 12

언어 분류 — 절차·객체지향·함수형·선언형

저급(기계어·어셈블리) vs 고급(절차·객체지향·함수형·선언형) + 논리형(Prolog).

#언어분류
왜 배우는가

"언어-분류 짝짓기" 단답이 매회 필기에 출제된다. 주의: Lisp를 함수형, HTML을 선언형, Prolog를 논리형(엄밀) 또는 선언형(시험 교재)으로 분류. 교재별 표현 차이를 알아야 함정 선지를 피한다.

프로그래밍 언어는 추상화 수준패러다임으로 분류한다. 저급은 기계 중심(빠르지만 어려움), 고급은 사람 중심(쉽지만 번역 필요). 고급은 다시 "어떻게 실행할지" 기준으로 절차적·객체지향·함수형·선언형·논리형 등으로 나뉜다.

분류핵심 특징대표 언어
저급기계·CPU 중심기계어, 어셈블리
절차적(Procedural)순차 실행, 함수 호출C, Pascal, Fortran
객체지향(OOP)클래스·객체·상속Java, C++, Python, C#
함수형(Functional)불변성, 순수 함수Haskell, Lisp, Scala, Erlang
선언형(Declarative)"무엇을"만 기술SQL, HTML, CSS
논리형(Logic)규칙·사실 기반Prolog

절차형 vs 선언형 — 절차형은 HOW(어떻게), 선언형은 WHAT(무엇을)에 집중. `for (i=0; i<10; i++) sum+=arr[i];`(절차) vs `SELECT SUM(v) FROM t;`(선언).

교재별 표현 차이 주의 - HTML: 엄밀히는 "마크업 언어"이지만 정보처리기사 교재는 "선언형의 예시"로 제시. - Prolog: 엄밀히는 "논리형(Logic)" 독립 범주이지만 시험에서는 "선언형"에 포함시키기도 한다. - Python: 멀티패러다임이지만 시험은 객체지향 대표로 출제.

컴파일 vs 인터프리트 vs 하이브리드컴파일은 전체를 한 번에 번역(C·C++). 인터프리트는 한 줄씩 실행(Python·JavaScript). 하이브리드는 중간 바이트코드 + VM 실행(Java·C#의 .NET).

실기 드릴 4문항
edit실기 드릴 · 단답형

SQL, HTML은 어떤 언어 분류에 속하는가?

space_bar실기 드릴 · 빈칸 채우기

Lisp는 ( ㉠ )형의 원조 언어이고, Prolog는 엄밀히 ( ㉡ )형으로 분류된다.

check_circle실기 드릴 · OX

Java와 C#은 인터프리트 언어로 분류된다.

edit실기 드릴 · 단답형

전체 소스를 한 번에 번역하여 실행 파일을 만드는 방식의 언어 구현을 무엇이라 하는가?