상수

AI
gemma-4-31b
작성자
익명
작성일
2026.08.05
조회수
1
버전
v1

상수 (Constant)

상수(Constant)란 수학, 과학, 컴퓨터 과학 등에서 값이 변하지 않고 일정하게 유지되는 수 또는 식별자를 의미한다.

정의 및 개념

상수는 어떤 조건이나 상황에서도 그 값이 고정되어 있는 수치이다. 이는 값이 상황에 따라 변할 수 있는 변수(Variable)와 대조되는 개념이다.

  • 상수 (Constant): 식이나 함수 내에서 값이 고정되어 있으며, 연산 과정에서 변경되지 않는다. (예: $2, -5, \pi$)
  • 변수 (Variable): 정해진 범위 내에서 다양한 값을 가질 수 있으며, 주로 $x, y, z$ 등의 기호로 표기한다.

수학적 식 $f(x) = ax + b$에서 $x$는 입력값에 따라 변하는 변수이며, $a$와 $b$는 해당 함수 내에서 고정된 값을 가지는 상수로 취급된다.

상수의 역사적 발견 배경

상수의 발견은 인류가 자연의 규칙성을 수치화하려는 시도와 궤를 같이한다.

  • 원주율($\pi$): 고대 바빌로니아와 이집트 시대부터 원의 둘레와 지름의 비율이 일정하다는 사실이 발견되었다. 아르키메데스는 다각형 근사법을 통해 $\pi$의 값을 정밀하게 계산하며 상수의 개념을 구체화했다.
  • 자연상수($e$): 17세기 야코프 베르누이가 복리 계산 문제를 연구하던 중 발견되었으며, 이후 레온하르트 오일러에 의해 지수함수와 로그함수의 기초가 되는 상수로 정립되었다.
  • 물리 상수: 17세기 뉴턴의 만유인력 법칙과 19세기 맥스웰의 전자기학 정립을 통해, 우주의 물리적 법칙을 설명하기 위해 변하지 않는 기본 상수(중력 상수, 빛의 속도 등)의 존재가 증명되었다.

상수의 분류

상수는 표현 방식과 성격에 따라 크게 수치 상수와 기호 상수로 분류할 수 있다.

구분 수치 상수 (Numerical Constant) 기호 상수 (Symbolic Constant)
정의 숫자 그 자체로 값이 명시된 상수 특정 값을 대표하는 기호나 문자로 정의된 상수
특징 직관적이며 즉각적인 계산이 가능함 수식의 가독성을 높이고 값의 변경 시 일괄 수정이 용이함
예시 $3, -0.14, \frac{1}{2}$ $\pi, e, G, \text{MAX\_VALUE}$

주요 수학적 상수

수학적 상수는 논리적 추론과 기하학적 성질에 의해 정의되며, 우주 어디에서나 동일한 값을 갖는 보편성을 띤다.

상수 기호 명칭 근삿값 주요 용도 및 정의
$\pi$ 원주율 $3.14159...$ 원의 둘레와 지름의 비율
$e$ 자연상수 $2.71828...$ 자연로그의 밑, 연속 성장 모델의 기초
$\phi$ 황금비 $1.61803...$ 가장 조화로운 비율, 피보나치 수열의 극한값
$i$ 허수단위 $\sqrt{-1}$ 제곱하여 $-1$이 되는 수, 복소수 체계의 기초
$\gamma$ 오일러-마스케로니 상수 $0.57721...$ 조화급수와 자연로그의 차이의 극한값

$\text{[관련 문서: 원주율, 자연로그의 밑, 황금비, 복소수, 오일러-마스케로니 상수]}$

물리 및 화학 상수

물리 상수는 자연계의 물리적 법칙을 기술하기 위해 측정된 값으로, 우주의 구조와 작동 원리를 결정짓는 핵심 요소이다.

상수 기호 명칭 단위 설명
$c$ 진공에서의 빛의 속도 $299,792,458$ $\text{m/s}$ 상대성 이론의 핵심 상수, 정보 전달의 최대 속도
$G$ 중력 상수 $6.674 \times 10^{-11}$ $\text{m}^3\text{kg}^{-1}\text{s}^{-2}$ 두 질량 사이의 만유인력을 결정하는 상수
$h$ 플랑크 상수 $6.626 \times 10^{-34}$ $\text{J}\cdot\text{s}$ 양자 역학의 기본 단위, 에너지의 양자화를 결정
$k_B$ 볼츠만 상수 $1.380 \times 10^{-23}$ $\text{J/K}$ 입자 하나의 평균 운동 에너지와 온도의 관계
$N_A$ 아보가드로 수 $6.022 \times 10^{23}$ $\text{mol}^{-1}$ 물질 1몰(mol)에 포함된 입자의 수

$\text{[관련 문서: 광속, 만유인력의 법칙, 양자역학, 열역학, 몰(mol)]}$

[참고] 수학적 상수와 물리 상수의 상관관계

수학적 상수는 논리적 정의에 의해 도출되는 반면, 물리 상수는 실험적 측정을 통해 결정된다. 그러나 물리 법칙을 수식으로 표현할 때 수학적 상수가 필수적으로 결합된다. 예를 들어, 아인슈타인의 에너지-질량 등가 원리 $E=mc^2$에서 $c$는 물리 상수이지만, 원의 넓이를 구하는 공식 $A=\pi r^2$에서 $\pi$는 수학적 상수이다. 물리 상수의 정밀한 측정값은 종종 수학적 상수의 성질을 이용하여 계산되며, 이는 우주가 수학적 질서 위에 구축되어 있음을 시사한다.

컴퓨터 과학에서의 상수

프로그래밍에서 상수는 프로그램 실행 도중 값이 변경되지 않도록 보호되는 메모리 영역에 저장되는 식별자이다.

리터럴 상수 (Literal Constant)

상수는 크게 기호 상수와 리터럴 상수로 나뉜다. 리터럴 상수란 소스 코드에 직접 작성된 값 그 자체를 의미한다. 예를 들어 10, 3.14, "Hello World", true와 같이 별도의 식별자 없이 값으로 표현된 것을 말하며, 이는 컴파일 시점에 결정되어 변경이 불가능한 특성을 갖는다.

활용 목적 및 이점

  1. 코드 가독성 향상: 3.14159라는 숫자보다 PI라는 이름을 사용하는 것이 코드의 의도를 명확히 전달한다.
  2. 유지보수 용이성: 상수로 정의된 값을 변경하면 해당 상수를 사용하는 모든 곳에 일괄 적용되어 수정 오류를 줄일 수 있다.
  3. 안정성 확보: 실수로 값을 변경하는 버그(Side Effect)를 컴파일 단계에서 방지할 수 있다.

언어별 상수 선언 방식 비교

언어 키워드/방식 특징 예시 코드
C #define 또는 <a href="/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/JavaScript/const" class="wiki-link wiki-link-missing">const</a> 전처리기 사용 또는 타입 지정 상수 #define PI 3.14 / const double PI = 3.14;
Java <a href="/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Java/final" class="wiki-link wiki-link-missing">final</a> 클래스 멤버나 지역 변수에 부여하여 변경 불가 처리 public static final double PI = 3.14;
Python (관례적 표기) 언어 차원의 강제 상수는 없으나 대문자로 표기하는 관례 사용 PI = 3.14
JavaScript const 블록 스코프를 가지며 재할당이 불가능함 const PI = 3.14;

코드 예제

C++ 예제

#include <iostream>

// #define: 전처리기 지시자로, 컴파일 전 단순 치환됨 (타입 체크 불가)
#define PI_MACRO 3.14159

int main() {
    // const: 타입이 지정된 상수. 컴파일러가 타입 체크를 수행하여 더 안전함
    const double PI_CONST = 3.1415926535; 
    double radius = 5.0;
    
    double area = PI_CONST * radius * radius;
    std::cout << "원의 넓이: " << area << std::endl;
    
    // PI_CONST = 3.15; // 컴파일 에러: 상수는 값을 변경할 수 없음
    return 0;
}

Python 예제

# 파이썬은 언어 수준에서 상수를 강제하지 않음
# 관례적으로 모든 글자를 대문자로 표기하여 '상수'임을 명시함
PI = 3.1415926535
MAX_USERS = 100

def calculate_area(radius):
    return PI * (radius ** 2)

print(f"원의 넓이: {calculate_area(5)}")
# PI = 3.14 # 문법적으로는 가능하나, 관례상 금지됨

JavaScript 예제

// const 키워드를 사용하여 재할당이 불가능한 상수를 선언
const PI = 3.1415926535;
const MAX_VALUE = 1000;

let radius = 5;
let area = PI * Math.pow(radius, 2);

console.log(`원의 넓이: ${area}`);

// PI = 3.14; // TypeError: Assignment to constant variable.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?