01. 첫 번째 수업: 온도, 고도, 그리고 파이썬이 음수를 다루는 법 (Concept of Integers)

우주선이 발사될 때 카운트다운 소리를 들어본 적이 있나요? “T 마이너스 3, 2, 1, 발사!” 우주선이 하늘로 솟구치기 전 땅에 머물러 있는 준비 시간은 마이너스( $-3$ 초)로 표현합니다. 그리고 발사되는 순간을 제로($0$), 그 이후부터 하늘을 비행하는 시간을 플러스( $+1$ 초, $+2$ 초)로 기록합니다.

이처럼 숫자에 + (플러스)- (마이너스) 부호가 붙기 시작하면서, 인류는 단순히 크기만 재는 것을 넘어 사물의 ‘방향’과 ‘서로 반대되는 성질’을 동시에 표기할 수 있게 되었습니다!


학습 목표

  • 기준점(0)을 중심으로 양의 부호(+)와 음의 부호(-)가 언제 쓰이는지 실생활 사례를 배웁니다.
  • 양의 정수, $0$, 음의 정수를 모두 합쳐 정수(Integers)라고 부르는 체계를 이해합니다.
  • 파이썬(Python) 프로그래밍 언어에서 정수형 데이터를 뜻하는 int의 작동 방식을 살펴봅니다.

1. 부호(Sign): 두 세계를 나누는 꼬리표

서로 정반대의 성질을 가진 두 수량을 깔끔하게 분리하기 위해 수학자들은 수 앞에 부호(Sign)를 붙입니다. 가운데 중립 지대이자 기준인 $0$ 을 세워놓고, 긍정적이거나 늘어나는 쪽에 $+$(양)를, 부정적이거나 줄어들고 반대 방향으로 가는 쪽에 $-$(음)를 부여합니다.

분류 기준 ($0$) 플러스(+) 양의 수 마이너스(-) 음의 수
재산 ($0$원) + (이익, 입금액) - (손해, 빚, 출금액)
온도 ($0^\circ \text{C}$) + (영상) - (영하)
고도 (해수면 $0\text{m}$) + (해발고도, 태백산) - (해저깊이, 마리아나 해구)
시간 (지금 $0$초) + (10초 후 미래) - (10초 전 과거)
점수 (기준점) + (득점, 보너스) - (실점, 페널티)

즉, $+10\text{m}$와 $-10\text{m}$는 둘 다 10이라는 크기(거리)를 가지지만, 전자는 산을 뜻하고 후자는 바다 밑바닥을 뜻하는 완전히 다른 세계입니다. (벡터에서 방향을 표시하는 개념과 동일합니다!)

2. 정수 (Integers): 딱 떨어지는 완벽한 자들의 모임

수학에서는 소수점 아래로 지저분하게 숫자가 이어지지 않는, 소위 ‘딱 떨어지는 깔끔한 수’들을 지칭하는 용어가 있습니다. 이를 정수(整數, Integers)라고 부릅니다. 가지런할 정(整) 자를 씁니다.

정수 왕국은 크게 세 개의 구역으로 영토가 나뉩니다.

  1. 양의 정수 (Positive Integers): 우리가 초등학교 때 배운 ‘자연수’에 $+$ 부호를 붙인 수입니다. ($+1, +2, +3 \dots$) 보통 귀찮으므로 $+$ 부호는 생략하고 씁니다.
  2. 0 (Zero): 오직 0 하나뿐입니다. 절대 양수도 아니고 음수도 아닌 완전한 투명인간이자 스위스의 중립국 같은 존재입니다.
  3. 음의 정수 (Negative Integers): 자연수에 거울을 비추어 $-$ 부호를 붙인 수입니다. ($-1, -2, -3 \dots$)

주의! “자연수에 -를 붙이면 음수다!” 라고 단순히 생각하면 안 됩니다. $+3.14$ 나 $-1.5$ 처럼 소수나 분수 찌꺼기가 붙어 있는 녀석들은 부호가 있어도 정수 왕국에 들어올 수 없습니다. 그들은 나중에 배울 더 큰 집합인 ‘유리수(Rational Numbers)’ 클럽 멤버입니다.

3. 파이썬(Python) 변수의 정수 여행

현대 컴퓨터 공학에서도 정수는 가장 많이 빈번하게 사용되는 데이터 형태입니다. 파이썬에서는 이를 통칭하여 int (Integer의 줄임말) 로 다룹니다.

컴퓨터의 가장 강력한 특징 중 하나는 변수 값을 자유롭게 음수로 바꿨다가 양수로 바꿀 수 있다는 것입니다. RPG 게임에서 플레이어의 골드 변화를 코드로 작성해 시뮬레이션해 봅시다!

# 파이썬으로 경험하는 정수(int) 형태의 데이터

print("--- ⚔️ 용사의 모험 장부 ⚔️ ---")

# 1. 태초의 시작 (0)
gold = 0
print(f"초기 상황: 골드 {gold}G (데이터 타입: {type(gold)})")
# 출력: 초기 상황: 골드 0G (데이터 타입: <class 'int'>)

# 2. 몬스터 사냥 성공 (+ 양의 정수 획득)
# 파이썬에서 + 부호는 생략합니다!
gold = gold + 50  
print(f"사냥 성공! 현재 골드: {gold}G")
# 출력: 사냥 성공! 현재 골드: 50G

# 3. 비싼 영웅의 검 외상 구매 (- 음의 정수로 추락)
# 파이썬은 값이 0을 뚫고 지하로 내려가는 것에 아무 거부감이 없습니다.
gold = gold - 300 
print(f"상점에서 과소비! 현재 골드: {gold}G")
# 출력: 상점에서 과소비! 현재 골드: -250G

# 음수인지 확인하는 if 문 (상태 체크)
if gold < 0:
    print("경고: 용사님, 신용불량 상태입니다. 빚쟁이 몬스터가 쫓아옵니다!")

이 코드에서 흥미로운 점은 gold = 0 (숫자 $0$) 일 때나, gold = 50 (양수) 이나, gold = -250 (음수) 일 때 모두 파이썬이 이 변수의 타입을 한결같이 <class 'int'> (정수) 로 인식한다는 것입니다! 파이썬 엔진에게 양수와 음수는 그저 메모리 상에 + 부호 비트(Bit)가 켜져있느냐 꺼져있느냐의 차이일 뿐, 본질이 같은 형제입니다.

학습 정리

  1. 부호 (+, -): 0을 기준으로 하여 어떤 성질이 서로 상반되는 방향을 가질 때 그것을 꼬리표처럼 구분 짓는 논리적 장치.
  2. 정수 (Integers): 소수점 찌꺼기가 없는 깔끔한 수. [양의 정수], [0], [음의 정수] 세 그룹을 모두 통틀어 부르는 용어이다.
  3. 컴퓨터 프로그래밍 언어에서 정수는 int 타입으로 불리며, 양수이든 대출금 빚이든 에러 없이 완벽하고 연산 속도가 가장 빠른 핵심 데이터 형식이다.
서브목차