Menu
Coddy logo textTech

프로그래밍 용어, 쉽게 풀어 설명

코딩을 시작하면 만나게 되는 단어들을 짧고 정확하게 정의했어요. 용어마다 페이지가 따로 있고, 브라우저에서 실행해 볼 수 있는 예제, 흔히 하는 실수, 이어지는 용어로 가는 링크가 들어 있어요.

코드가 실행되는 방식

입력한 코드가 실행되는 프로그램이 되기까지 일어나는 일: 컴파일러, 인터프리터, 런타임 환경, 운영체제.

소스 코드소스 코드는 프로그래머가 파이썬, 자바, C 같은 언어로 작성해 일반 텍스트 파일로 저장한, 사람이 읽을 수 있는 프로그램의 텍스트입니다. 컴파일러나 인터프리터가 이 텍스트를 컴퓨터가 실행할 수 있는 명령으로 바꿔요.컴파일러컴파일러는 프로그래밍 언어로 작성한 소스 코드를 프로그램이 실행되기 전에 기계어나 바이트코드 같은 더 낮은 수준의 형태로 번역하는 프로그램입니다. 번역된 프로그램은 원래 소스 없이도 실행할 수 있어요.인터프리터인터프리터는 프로그램 전체를 별도의 기계어 파일로 먼저 번역하지 않고, 소스 코드를 직접 실행하면서 그 명령을 차례로 수행하는 프로그램입니다. 파이썬과 루비의 표준 구현이 인터프리터예요.런타임 환경런타임 환경은 프로그램이 실행되는 동안 그 주변에 필요한 소프트웨어입니다. 코드를 실행하는 엔진, 프로그램이 호출하는 표준 라이브러리, 그리고 메모리, 오류, 운영체제 접근을 관리하는 기능으로 이루어져요. JVM, Node.js, CPython이 그 예예요.운영체제운영체제(OS)는 컴퓨터의 하드웨어를 관리하고 다른 모든 프로그램을 실행하는 소프트웨어입니다. 프로세서, 메모리, 저장 장치를 프로그램들 사이에 나눠 주고, 파일, 네트워크, 입출력을 제공해요. 윈도우, macOS, 리눅스, 안드로이드, iOS가 운영체제예요.

프로그램의 기본 요소

모든 프로그램을 이루는 기본 요소: 값, 변수, 배열, 반복.

오류와 디버깅

세 가지 오류, 프로그램이 오류를 다루는 방법, 그리고 C 프로그래머가 가장 먼저 만나는 충돌.

구문 오류구문 오류(syntax error)는 콜론, 괄호, 따옴표를 빠뜨리는 것처럼 코드의 구조가 프로그래밍 언어의 문법 규칙을 어긴 실수입니다. 컴파일러나 인터프리터는 프로그램을 한 줄도 실행하기 전에 이 코드를 거부합니다.런타임 오류런타임 오류(runtime error)는 프로그램이 실행되는 도중에, 0으로 나누기나 리스트 끝을 넘어서 읽기처럼 가진 값으로는 연산을 수행할 수 없을 때 발생하는 오류입니다. 오류를 처리하지 않으면 프로그램은 그 줄에서 멈춥니다.논리 오류논리 오류(logic error)는 프로그램의 추론이 잘못되어, 비정상 종료나 오류 메시지 없이 틀린 결과를 내는 실수입니다. 코드는 올바르고 모든 줄이 실행되지만, 프로그래머가 의도한 대로 동작하지 않습니다.예외 처리예외 처리(exception handling)는 프로그램이 실행 중에 발생하는 오류에 대응하는 방법입니다. 실패할 수 있는 코드를 try 같은 보호 블록에 넣고, 오류가 발생하면 프로그램이 멈추는 대신 except나 catch 같은 처리기로 제어가 넘어갑니다.세그멘테이션 오류세그멘테이션 오류(segmentation fault, segfault)는 널 포인터를 통해 주소 0에 접근하는 것처럼, 프로그램이 접근이 허용되지 않은 메모리를 읽거나 쓰려 할 때 일어나는 비정상 종료입니다. 운영체제가 SIGSEGV 시그널로 프로그램을 멈춥니다.

데이터와 저장

컴퓨터가 데이터를 저장하고 손상 없이 도착했는지 확인하는 방법: 비트, 바이트, 체크섬, 데이터베이스.

객체 지향 프로그래밍

클래스와 객체를 떠받치는 생각: 데이터 숨기기, 공통 인터페이스 공유, 세부 사항 감추기.

자주 묻는 질문

초보자는 어떤 프로그래밍 용어부터 알아야 하나요?
모든 프로그램에서 쓰는 기본 요소부터 시작하세요. 변수, 불리언, 배열, 반복이에요. 그다음에는 오류의 세 가지 종류(구문 오류, 런타임 오류, 논리 오류)를 익히세요. 첫 주 안에 세 가지를 모두 만나게 될 거예요.
코딩을 시작하기 전에 이 용어들을 알아야 하나요?
아니요. 대부분은 작은 프로그램을 짜다가 모르는 단어가 나오면 찾아보면서 익혀요. 용어가 설명하는 오류나 출력을 한 번 직접 보고 나면 훨씬 빨리 기억에 남아요.
프로그래밍 용어는 언어마다 같나요?
개념은 같아요. 이름과 세부 사항이 달라요. 파이썬은 배열을 list라고 부르고 True라고 쓰고, 자바스크립트는 true라고 쓰며, 자바는 변수의 타입을 선언하게 해요. 각 페이지에서 언어마다 다른 점을 짚어 두었어요.
이 개념들은 어디서 연습할 수 있나요?
용어 페이지마다 브라우저에서 고쳐 실행할 수 있는 예제가 있어요. 체계적으로 연습하고 싶다면 Coddy의 무료 파이썬 강의에서 변수, 반복문, 오류, 클래스를 작은 연습 문제로 하나씩 익힐 수 있어요.