개발을 시작하면 가장 먼저 부딪히는 벽이 용어입니다. 선배 개발자들의 대화가 외국어처럼 들리는 경험, 누구나 한 번쯤 있을 것입니다.
이 시리즈에서는 개발자라면 반드시 알아야 할 용어들을 4편에 걸쳐 정리합니다. 1편에서는 프로그래밍의 기초가 되는 핵심 용어를 다룹니다.
📚 개발 용어 총정리 시리즈
- 1편: 프로그래밍 기초 용어 ← 현재 글
- 2편: 웹 개발 용어
- 3편: 서버·인프라·DevOps 용어
- 4편: 실전 & AI 시대 용어
변수와 데이터 타입
변수(Variable): 데이터를 저장하는 이름 붙은 공간입니다. let name = "devYUL" 처럼 값을 담아두는 그릇이라고 생각하면 됩니다.
상수(Constant): 한 번 값을 정하면 바꿀 수 없는 변수입니다. const PI = 3.14 처럼 변하지 않는 값에 사용합니다.
데이터 타입(Data Type): 변수에 저장할 수 있는 값의 종류입니다.
String— 문자열:"안녕하세요"Number— 숫자:42,3.14Boolean— 참/거짓:true,falseArray— 배열:[1, 2, 3]Object— 객체:{ name: "devYUL", age: 30 }null/undefined— 값이 없음
타입스크립트(TypeScript): JavaScript에 타입 시스템을 추가한 언어입니다. 변수의 타입을 미리 지정해서 실수를 방지합니다.
let count: number = 10; // 숫자만 가능
let name: string = "devYUL"; // 문자열만 가능
함수와 스코프
함수(Function): 특정 작업을 수행하는 코드 묶음입니다. 한 번 정의해두면 필요할 때마다 호출해서 재사용할 수 있습니다.
매개변수(Parameter) vs 인자(Argument): 함수를 정의할 때 받는 변수가 매개변수, 호출할 때 넘기는 값이 인자입니다.
function greet(name) { // name은 매개변수
return `안녕, ${name}!`;
}
greet("devYUL"); // "devYUL"은 인자
콜백(Callback): 다른 함수에 인자로 전달되는 함수입니다. 비동기 작업이 끝난 후 실행됩니다.
비동기(Async/Await): 시간이 걸리는 작업(API 호출, 파일 읽기)을 기다리지 않고 다음 코드를 먼저 실행하는 방식입니다. async/await으로 비동기 코드를 동기처럼 읽기 쉽게 작성할 수 있습니다.
스코프(Scope): 변수에 접근할 수 있는 범위입니다. 함수 안에서 선언한 변수는 밖에서 접근할 수 없습니다.
클로저(Closure): 함수가 자신이 선언된 환경의 변수를 기억하는 것입니다. JavaScript에서 매우 중요한 개념입니다.
객체지향 프로그래밍
객체지향 프로그래밍(OOP): 데이터(속성)와 기능(메서드)을 하나의 객체로 묶어서 프로그래밍하는 방식입니다.
클래스(Class): 객체를 만들기 위한 설계도입니다. 붕어빵 틀에 비유하면, 클래스가 틀이고 객체가 붕어빵입니다.
인스턴스(Instance): 클래스를 기반으로 실제로 만들어진 객체입니다.
상속(Inheritance): 기존 클래스의 속성과 메서드를 물려받아 새 클래스를 만드는 것입니다.
인터페이스(Interface): 객체가 반드시 구현해야 할 구조를 정의합니다. TypeScript에서 자주 사용합니다.
interface User {
name: string;
email: string;
age?: number; // 선택적 속성
}
측술화(Encapsulation): 내부 구현을 숨기고 필요한 부분만 외부에 공개하는 것입니다. private, public 키워드로 접근을 제어합니다.
자료구조 기초
배열(Array): 순서가 있는 데이터 목록입니다. 인덱스(0부터 시작)로 접근합니다.
객체/맵(Object/Map): 키-값 쌍으로 데이터를 저장합니다. 이름으로 데이터를 찾을 때 유용합니다.
스택(Stack): 마지막에 넣은 것이 먼저 나오는(LIFO) 구조입니다. 뒤로 가기 버튼의 동작 원리입니다.
큐(Queue): 먼저 넣은 것이 먼저 나오는(FIFO) 구조입니다. 줄 서기와 같습니다.
JSON (JavaScript Object Notation): 데이터를 주고받을 때 사용하는 텍스트 형식입니다. API 통신에서 가장 많이 사용됩니다.
{
"name": "devYUL Studio",
"type": "앱 개발",
"projects": ["루틴스토리", "반모", "커버"]
}
해시(Hash): 데이터를 고정된 길이의 값으로 변환하는 것입니다. 비밀번호 저장, 데이터 무결성 검증에 사용됩니다.
다음 편 예고
1편에서는 프로그래밍의 기초가 되는 핵심 용어를 정리했습니다. 2편에서는 웹 개발 용어를 다룹니다. 프론트엔드, 백엔드, REST API, 렌더링 방식 등 웹 개발자라면 반드시 알아야 할 용어들을 정리합니다.