728x90
C/C++에서 const는 "변하지 않는 값"을 의미하는 키워드입니다. 즉, const를 붙이면 그 변수나 데이터는 수정할 수 없도록 컴파일러가 강제합니다.
🔍 기본 개념
const int num = 10;
num = 20; // ❌ 오류 발생! num은 변경 불가
- const int num = 10; → num은 상수처럼 동작하며, 이후 값을 바꿀 수 없습니다.
- const는 코드의 안정성을 높이고, 실수로 값이 바뀌는 것을 방지해줍니다.
🧠 비유로 설명해볼게요
📦 const는 "봉인된 상자"
- 일반 변수는 열고 닫을 수 있는 상자예요. 언제든 값을 넣고 바꿀 수 있죠.
- const 변수는 봉인된 상자예요. 처음에 넣은 값은 절대 바꿀 수 없어요.
- 누군가 실수로 열려고 하면 컴파일러가 "안 돼!" 하고 막아줍니다.
🧩 다양한 const 사용 예시
1. 기본 변수
const float pi = 3.14159;
- pi는 원주율로, 절대 바뀌면 안 되는 값이죠.
2. 함수 매개변수
void printName(const char* name);
- name을 출력만 하고 수정하지 않겠다는 의도를 명확히 표현.
3. 멤버 함수에서
class Circle {
public:
double getArea() const; // 객체 상태를 변경하지 않음
};
- const 함수는 객체의 내부 값을 바꾸지 않겠다는 약속이에요.
4. 포인터와 함께
const int* ptr; // 값은 못 바꿈, 주소는 바꿀 수 있음
int* const ptr2; // 주소는 못 바꿈, 값은 바꿀 수 있음
const int* const ptr3; // 둘 다 못 바꿈
- 헷갈릴 수 있지만, const 기준으로 오른쪽이 고정된다고 기억하면 쉬워요.
✅ const의 장점
장점설명
실수 방지 | 값이 바뀌면 안 되는 상황에서 안전하게 보호 |
코드의 의도 명확화 | "이건 읽기 전용입니다"라는 메시지를 전달 |
최적화 가능 | 컴파일러가 캐싱하거나 레지스터에 넣기 쉬움 |
인터페이스 신뢰성 향상 | 라이브러리나 API 설계 시 안정성 확보 |
C/C++에서 const는 단순한 키워드가 아니라 코드의 안전성과 신뢰성을 높이는 도구예요.
728x90
'1학년 대학 수업 > C++ 프로그래밍' 카테고리의 다른 글
전처리기 (0) | 2025.09.11 |
---|---|
c/c++ 나눗셈 (0) | 2025.09.11 |
C/C++ 식별자, 상수, 자료형, 변수, 전처리기, 연산자 예제 (0) | 2025.09.11 |
C/C++의 자료형 순위 (0) | 2025.09.11 |
문자와 문자열의 차이 (0) | 2025.09.11 |