정처기 감자
공통 기초프로그래밍 기초

검색

검색어를 입력해 개념과 문제를 찾습니다.

초기화란? (Initialization vs Reset)

코딩C언어JavaPython
읽는데 7분 소요
처음 쓰여진 날: 2026-03-08
마지막 수정일: 2026-06-11
조회수: —
선수학습(1개)
  • 변수 선언 방법

요약

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

핵심 정리

아래에서 하나씩 배울 내용을 미리 정리한 표입니다.

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

코드 문법상 초기화와 대입은 비슷해 보이지만, 초기화는 처음 만들 때 값을 설정하는 것이고 대입은 이미 존재하는 변수에 값을 넣는 것입니다.


초기화(Initialization)란? 쌩기초

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

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

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


초기화 vs 리셋 쌩기초

초기화 (Initialization)리셋 (Reset)
뜻처음 값을 설정원래 상태로 되돌림
시점변수를 처음 만들 때이미 사용 중인 값을 다시 바꿀 때
횟수한 번 (생성 시)필요할 때마다 여러 번
c
코드 하이라이팅 중…
java
코드 하이라이팅 중…
python
코드 하이라이팅 중…
'초기화 = 0으로 만들기'가 아닙니다
초기화는 처음 값을 설정하는 것이지, 반드시 0을 넣는 것이 아닙니다. int x = 99;도 초기화입니다.

변수 초기화 쌩기초

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

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

초기화하지 않으면? 기초

C언어에서 변수를 선언만 하고 초기화하지 않으면, 그 변수에는 쓰레기 값(garbage value) 이 들어 있습니다. 컴퓨터 메모리에는 이전에 다른 프로그램이 쓰다 남긴 데이터가 남아 있을 수 있는데, 이 알 수 없는 값을 쓰레기 값이라고 합니다.

c
코드 하이라이팅 중…

반드시 사용 전에 초기화해야 합니다.

Java에서는 멤버 변수(클래스 {} 안에 직접 선언한 변수)를 초기화하지 않으면 자료형에 따라 기본값이 자동으로 설정됩니다.

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

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

java
코드 하이라이팅 중…

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

python
코드 하이라이팅 중…

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

python
코드 하이라이팅 중…
C언어에서는 반드시 초기화 후 사용하세요
초기화하지 않은 변수에는 예측할 수 없는 쓰레기 값이 들어 있습니다. 시험에서 초기화 없이 선언된 변수가 나오면 주의하세요.

배열 초기화 기초

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

c
코드 하이라이팅 중…

C언어에서 배열 크기보다 적은 수의 값으로 초기화하면, 지정하지 않은 나머지 요소는 자동으로 0이 됩니다.

선언arr3[0]arr3[1]arr3[2]arr3[3]arr3[4]
{1, 2}12000

위 규칙에 따라 {0}으로 초기화하면 첫 번째 요소가 0이고 나머지도 자동으로 0이 되므로, 배열 전체를 0으로 초기화하는 간편한 방법입니다.

java
코드 하이라이팅 중…
python
코드 하이라이팅 중…

구조체 초기화 기초

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

c
코드 하이라이팅 중…

{ 20, 95 }에서 첫 번째 값 20은 첫 번째 멤버 age에, 두 번째 값 95는 두 번째 멤버 score에 대입됩니다.

멤버 순서가 바뀌면 초기화 값의 의미도 바뀝니다.

c
코드 하이라이팅 중…

시험에서는 포인터나 unsigned int(음수 없이 0과 양수만 저장하는 정수 타입) 같은 멤버가 포함된 구조체가 출제됩니다. 아래는 실제 기출에서 나온 형태입니다.

c
코드 하이라이팅 중…

여기서 5u의 u는 unsigned 리터럴 접미사로, 값 자체는 5와 같습니다.

구조체 초기화 순서 = 멤버 선언 순서
구조체를 {}로 초기화하면 값은 항상 멤버가 선언된 순서대로 들어갑니다. 시험 문제를 풀 때는 반드시 구조체 정의에서 멤버 순서를 먼저 확인하세요.

정보처리기사 실기 대비 문제

메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999