초기화란? (Initialization vs Reset)

코딩C언어JavaPython
읽는데 5분 소요
처음 쓰여진 날: 2026-03-08
마지막 수정일: 2026-03-08
조회수: 26

요약

프로그래밍에서 초기화(Initialization)의 의미와 리셋(Reset)과의 차이를 알아봅니다. 변수 초기화, 배열 초기화, 구조체 초기화 등 정보처리기사 실기에서 자주 등장하는 초기화 개념을 정리합니다.

초기화(Initialization)란?

초기화(Initialization) 란 변수나 자료구조를 처음 만들 때 값을 넣어주는 것입니다.

c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...

"초기화"라는 단어 때문에 "값을 0으로 만드는 것" 또는 "원래 상태로 되돌리는 것"으로 오해하기 쉽습니다. 하지만 프로그래밍에서 초기화는 처음 값을 설정하는 행위 자체를 뜻합니다.


초기화 vs 리셋

초기화 (Initialization)리셋 (Reset)
처음 값을 설정원래 상태로 되돌림
시점변수를 처음 만들 때이미 사용 중인 값을 다시 바꿀 때
횟수한 번 (생성 시)필요할 때마다 여러 번
c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...


초기화하지 않으면?

C언어에서 변수를 선언만 하고 초기화하지 않으면, 그 변수에는 쓰레기 값(garbage value) 이 들어 있습니다.

c
코드 하이라이팅 중...

이전에 메모리에 남아 있던 값이 그대로 읽히기 때문입니다. 반드시 사용 전에 초기화해야 합니다.

Java에서는 멤버 변수(필드) 를 초기화하지 않으면 자료형에 따라 기본값이 자동으로 설정됩니다.

자료형기본값
int, long0
double, float0.0
booleanfalse
String, 객체null
java
코드 하이라이팅 중...

단, 지역 변수(메서드 안에서 선언한 변수) 는 자동 초기화되지 않으므로 반드시 직접 초기화해야 합니다.

java
코드 하이라이팅 중...

Python에서는 변수를 선언만 하는 문법이 없습니다. 변수에 값을 대입하는 순간 선언과 초기화가 동시에 이루어집니다.

python
코드 하이라이팅 중...

따라서 Python에서는 "초기화하지 않은 변수"가 존재할 수 없습니다. 대입하지 않은 변수를 사용하면 NameError가 발생합니다.

python
코드 하이라이팅 중...

변수 초기화

변수를 만들면서 동시에 값을 넣는 것이 가장 기본적인 초기화입니다.

c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...

배열 초기화

배열도 선언과 동시에 값을 넣을 수 있습니다.

c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...


구조체 초기화

C언어에서 구조체를 초기화할 때는 {}를 사용합니다. 구조체 정의에서 멤버를 선언한 순서대로 값이 대입됩니다.

c
코드 하이라이팅 중...

{ 0, 5u }에서 첫 번째 값 0은 첫 번째 멤버 next에, 두 번째 값 5u는 두 번째 멤버 x에 대입됩니다. 구조체 정의에서 멤버 순서가 바뀌면 초기화 값의 의미도 바뀝니다.

c
코드 하이라이팅 중...

핵심 정리

용어의미예시
선언변수의 이름과 타입을 정함int x;
초기화처음 값을 넣어줌int x = 5;
대입이미 있는 변수에 값을 넣음x = 10;
리셋원래 상태로 되돌림초기값으로 복원