2026/05/29 10

정적 변수

정적 변수 (Static Variable)정적 변수는 프로그램이 종료될 때까지 메모리에 유지되는 변수이다.일반 지역 변수와 달리 함수가 종료되어도 값이 사라지지 않는다.특징프로그램 시작 시 생성된다.프로그램 종료 시 제거된다.한 번만 생성된다.함수가 종료되어도 값이 유지된다.데이터 영역(Data Segment)에 저장된다.접근 범위(Scope)는 선언된 위치에 따라 결정된다.기본 문법static 자료형 변수이름;예시static int Count = 0;일반 지역 변수와 비교일반 지역 변수void Func(){ int x = 0; x++; std::cout 호출Func();Func();Func();결과111함수가 호출될 때마다 새로 생성되고 함수가 끝나면 제거된다.정적 변수void Func..

c++/기초 2026.05.29

오버로딩

오버로딩 (Overloading)오버로딩은 같은 이름의 함수를 여러 개 정의하는 것이다.단, 함수 이름은 같아도 매개변수의 형태가 달라야 한다.기본 예시void Func(int x);void Func(float x);void Func(int x, int y);위 함수들은 모두 이름이 Func로 같지만, 매개변수가 다르기 때문에 오버로딩이 가능하다.오버로딩이 가능한 기준함수의 매개변수 목록이 달라야 한다.void Func(int x);void Func(float x);void Func(int x, int y);void Func(float x, int y);가능한 차이매개변수 개수 차이매개변수 타입 차이매개변수 순서 차이매개변수 개수 차이void Func(int x);void Func(int x, int y..

c++/기초 2026.05.29

형변환

형변환 (Type Casting)형변환은 데이터의 자료형(Type)을 다른 자료형으로 변환하는 것을 의미한다.int a = 10;double b = a;위 코드에서는 int형 데이터를 double형으로 변환하여 저장한다.암시적 형변환 (Implicit Conversion)컴파일러가 자동으로 수행하는 형변환이다.예시int a = 10;double b = a;실제 동작double b = 10.0;결과b = 10.0특징컴파일러가 자동으로 수행한다.일반적으로 작은 자료형에서 큰 자료형으로 변환된다.데이터 손실이 없는 경우가 많다.예시char a = 'A';int b = a;결과b = 65문자의 아스키 코드 값이 저장된다.명시적 형변환 (Explicit Conversion)개발자가 직접 형변환을 지정하는 방식이다..

c++/기초 2026.05.29

전역변수와 지역변수

전역 변수(Global Variable)와 지역 변수(Local Variable)변수는 선언된 위치에 따라 전역 변수와 지역 변수로 나뉜다.변수의 선언 위치에 따라 사용 범위(Scope)와 수명(Lifetime)이 달라진다.전역 변수 (Global Variable)함수나 클래스 등의 코드 블록 밖에서 선언된 변수이다.프로그램 전체에서 접근할 수 있다.선언#include int a = 10;void Func(){ std::cout 특징함수 밖에서 선언한다.프로그램 시작 시 생성된다.프로그램 종료 시 제거된다.같은 파일 내에서는 어디서든 접근 가능하다.메모리의 데이터 영역(Data Segment)에 저장된다.메모리 구조int a = 10;데이터 영역(Data Segment)┌────────────┐│ ..

c++/기초 2026.05.29

함수

함수 (Function)함수는 특정 작업을 수행하는 코드의 묶음이다.같은 코드를 여러 번 작성하지 않고 재사용할 수 있으며, 프로그램을 기능별로 분리하여 관리할 수 있게 해준다.함수 선언기본 문법반환형 함수이름(매개변수){ 실행할 코드}예시int Add(int a, int b){ return a + b;}사용int result = Add(10, 20);실행 결과30함수의 구성 요소int Add(int a, int b){ return a + b;}구성 요소설명int반환형(Return Type)Add함수 이름int a, int b매개변수(Parameter)return반환 값함수 호출Add(10, 20);함수를 호출하면 함수 내부 코드가 실행된다.int result = Add(10, 20);↓..

c++/기초 2026.05.29

구조체

구조체 (Struct)구조체는 서로 다른 자료형의 변수들을 하나로 묶어 새로운 자료형을 만드는 사용자 정의 자료형(User Defined Type)이다.관련된 데이터를 하나의 단위로 관리할 수 있도록 도와준다.구조체 선언기본 문법struct 구조체이름{ 자료형 변수이름; 자료형 변수이름;};예시struct Player{ string Name; int HP; int Attack;};이제 Player는 새로운 자료형이 된다.구조체 변수 선언Player player;값 저장player.Name = "용사";player.HP = 100;player.Attack = 20;출력cout 구조체 초기화Player player ={ "용사", 100, 20};또는Player p..

c++/기초 2026.05.29

배열

배열 (Array)같은 자료형의 여러 변수를 하나의 이름으로 관리하기 위한 자료구조이다.배열은 메모리에 연속적으로 저장되며, 각 요소는 인덱스(Index)를 통해 접근할 수 있다.배열 선언기본 문법자료형 배열이름[크기];예시int numbers[5];int형 변수 5개가 연속된 메모리에 생성된다.인덱스는 0부터 시작한다.배열 요소 접근int numbers[5];numbers[0] = 10;numbers[1] = 20;numbers[2] = 30;배열의 첫 번째 요소는 0번 인덱스이다.cout 실행 결과10배열 초기화배열은 {}를 이용하여 초기화할 수 있다.int numbers[5] = { 1, 2, 3, 4, 5 };크기를 생략한 초기화배열 크기를 적지 않아도 초기화한 원소 개수만큼 자동으로 크기가 결정..

c++/기초 2026.05.29

반복문

반복문 (Loop)반복문은 특정 코드가 여러 번 실행되도록 만들 때 사용하는 제어문이다.반복문의 종류는 크게 다음과 같다.forwhiledo-whilefor문정수 기반의 반복 횟수를 제어할 때 사용하는 반복문이다.왜 주로 정수를 사용할까?반복 횟수는 정확해야 한다.float 또는 double은 부동소수점 오차가 발생할 수 있기 때문에 반복 횟수가 예상과 다를 수 있다.for (float i = 0; i 이 경우 10번 반복을 기대했지만 실제로는 다르게 동작할 수 있다.따라서 반복 횟수를 제어할 때는 보통 int를 사용한다.기본 문법for (초기식; 조건식; 증감식){ // 반복될 코드}예시for (int i = 0; i 동작 순서for (int i = 0; i 1단계int i = 0;초기화2단계i ..

c++/기초 2026.05.29

switch

switch하나의 변수 값을 기준으로 여러 경우를 나누어 실행하는 제어문이다.주로 같은 변수에 대해 여러 조건을 비교할 때 사용한다.기본 문법switch (변수){case 1: 실행문; break;case 2: 실행문; break;case 3: 실행문; break;default: 실행문; break;}동작 원리switch의 변수 값과 일치하는 case를 찾아 해당 위치로 이동한 후 코드를 실행한다.int num = 2;switch (num){case 1: cout 실행 결과2번동작 과정switch (2)↓case 2:↓cout ↓break;↓switch 종료break현재 case의 실행을 종료하고 switch문을 빠져나가는 역할을 한다.switch (num..

c++/기초 2026.05.29

조건문(if, else, else if)

조건문if문주어진 조건식의 결과(참/거짓)에 따라 특정 코드를 실행하거나 건너뛰는 제어문이다.기본 문법if (조건식){ // 조건식이 참(true)일 때 실행}특징조건식의 결과가 true이면 코드 블록을 실행한다.조건식의 결과가 false이면 코드 블록을 건너뛴다.C++에서는 0을 제외한 모든 정수 값이 true로 취급된다.if (1){ cout else문if문의 조건식 결과가 false일 경우 실행되는 코드 블록이다.기본 문법if (조건식){ // 조건식이 참(true)일 때 실행}else{ // 조건식이 거짓(false)일 때 실행}예제int hp = 0;if (hp > 0){ cout 실행 결과사망특징if의 조건이 거짓일 때 실행된다.별도의 조건식을 작성하지 않는다.if와..

c++/기초 2026.05.29