본문 바로가기
IT/프로그래밍

변수와 상수의 차이점은 무엇인가? 📘

by kelcat 2024. 11. 14.
반응형

프로그래밍에서 변수와 상수는 기본적인 개념이지만 각기 다른 용도로 사용됩니다. 변수는 값이 변경될 수 있는 저장소이며, 상수는 한 번 설정된 값이 바뀌지 않는 저장소입니다. 변수와 상수의 차이점과 각각의 역할에 대해 알아보겠습니다.

변수와 상수의 정의 📝

변수(Variable)

변수는 프로그램 실행 중에 값이 변경될 수 있는 저장 공간입니다. 예를 들어, 나이, 점수, 사용자 입력 등 동적으로 변하는 값을 저장할 때 사용됩니다. 변수는 프로그램 내에서 재할당할 수 있어 유연한 코드 작성이 가능합니다.

상수(Constant)

상수는 한 번 초기화되면 값을 변경할 수 없는 저장 공간입니다. 상수는 프로그램이 실행되는 동안 값이 유지되므로, 변경되지 않아야 할 값(예: 원주율 π, 중력 가속도 g)을 저장할 때 유용합니다. 상수는 프로그램의 안정성과 가독성을 높이며, 실수로 값을 변경하는 것을 방지합니다.

변수와 상수의 주요 차이점 🔍

구분 변수(Variable) 상수(Constant)
값 변경 가능 (재할당 가능) 불가능 (초기화 후 변경 불가)
용도 변경 가능성이 있는 데이터를 저장할 때 사용 변하지 않는 데이터를 저장할 때 사용
유형 대부분의 프로그래밍 언어에서 var, let 키워드 사용 대부분 const 키워드 사용
가독성 값이 자주 바뀌므로 코드 추적 시 주의 필요 일정한 값 유지로 가독성과 안정성이 높음

예시 코드 (JavaScript 기준)

// 변수 예시
let age = 25;       // 나이 변수 선언
age = 30;           // 값 변경 가능

// 상수 예시
const PI = 3.14159; // 원주율 상수 선언
// PI = 3.14;       // 오류 발생: 상수는 재할당 불가

이 예제에서 age는 변수로, 값이 바뀔 수 있습니다. 반면 PI는 상수로, 원주율 값을 표현하며 절대 변경되지 않습니다.

변수와 상수를 사용하는 이유 💡

변수와 상수를 적절히 사용하면 코드의 가독성, 유지보수성, 안정성이 높아집니다.

변수를 사용하는 이유

  1. 동적 데이터 처리: 사용자의 입력이나 시간에 따라 변경되는 데이터를 저장할 때 유용합니다.
  2. 코드 유연성 확보: 값이 변할 수 있도록 허용함으로써 코드의 유연성을 높입니다.

상수를 사용하는 이유

  1. 변경 불가능한 값 보호: 상수는 중요한 값이 의도치 않게 수정되는 것을 방지합니다.
  2. 코드 가독성 향상: 상수는 일정한 값이므로, 코드 작성자가 의도한 의미를 명확히 전달할 수 있습니다.
  3. 유지보수 용이: 상수를 사용하면 값이 고정되므로 코드의 신뢰성과 유지보수성이 높아집니다.

변수와 상수의 사용 예시 🌟

다양한 경우에서 변수와 상수의 사용 방법을 살펴보겠습니다.

변수 사용 예시 - 사용자 점수 관리

게임에서 플레이어의 점수는 계속해서 변화하므로 변수로 선언하는 것이 적절합니다.

let score = 0;  // 점수 변수 선언
score += 10;    // 점수 증가
console.log(score);  // 변경된 점수 출력

 

상수 사용 예시 - 물리 상수 정의

중력 가속도와 같은 물리 상수는 변하지 않는 값이므로 상수로 선언하는 것이 적합합니다.

const GRAVITY = 9.8; // 중력 가속도 상수 선언
console.log(GRAVITY);  // 상수 값 출력​

 

이처럼 상수를 사용하면 실수로 변경될 가능성을 차단해 코드 안정성을 높일 수 있습니다.

변수와 상수 선언 방법 (언어별) 🌐

언어마다 변수와 상수를 선언하는 방법이 약간씩 다릅니다. 몇 가지 주요 언어에서의 선언 방식을 살펴보겠습니다.

1. JavaScript

  • 변수: let 또는 var 키워드 사용
  • 상수: const 키워드 사용
let age = 25;       // 변수 선언
const PI = 3.14159; // 상수 선언

 

2. Python

  • 변수: 별도의 키워드 없이 변수명에 값 할당
  • 상수: 상수를 위한 키워드는 없지만, 관습적으로 변수명을 모두 대문자로 선언하여 상수처럼 사용
age = 25          # 변수 선언
PI = 3.14159      # 상수처럼 사용할 값

3. Java

  • 변수: 타입과 함께 변수 선언 (int, String 등)
  • 상수: final 키워드를 사용하여 상수 선언
int age = 25;            // 변수 선언
final double PI = 3.14159; // 상수 선언

 

4. C++

  • 변수: 타입과 함께 변수 선언 (int, float 등)
  • 상수: const 키워드를 사용하여 상수 선언
int age = 25;           // 변수 선언
const double PI = 3.14159; // 상수 선언

변수와 상수를 사용할 때 주의할 점 ⚠️

  1. 상수는 변경 불가: 상수는 값을 재할당할 수 없으므로 초기화할 때 신중하게 값을 설정해야 합니다.
  2. 변수는 필요시에만 변경: 변수는 필요한 경우에만 값을 변경하도록 관리해야 코드의 안정성이 높아집니다.
  3. 명확한 명명 규칙: 상수는 대문자로 작성하여 변수와 구분되도록 하는 것이 관례이며, 가독성을 높이는 데 도움이 됩니다.

FAQ

  • Q1: 변수와 상수를 언제 사용해야 하나요?
    A: 값이 프로그램 실행 중에 변할 수 있는 경우 변수로 선언하고, 변하지 않는 값이나 상수로 사용해야 할 경우 const나 final 등을 사용해 상수로 선언합니다.
  • Q2: 상수를 변경할 수 있는 방법이 있나요?
    A: 상수는 일반적으로 값이 고정되도록 설계되었기 때문에 직접 변경할 수 없습니다. 값이 변해야 한다면 상수가 아닌 변수로 선언하는 것이 좋습니다.
  • Q3: 상수를 사용할 때의 장점은 무엇인가요?
    A: 상수를 사용하면 중요한 값이 의도치 않게 변경되는 것을 방지할 수 있으며, 코드 가독성이 높아집니다. 유지보수 시 상수 값을 한 곳에서만 수정하면 되므로 편리합니다.
반응형