3.1.6.1 연산자의 개념 및 동작 원리

연산자(Operator)란 무엇인가요?

연산자란 ‘주어진 데이터(재료)를 가지고 특정한 연산(가공)을 수행하여 새로운 결과물(생산품)을 만들어내는 기계 혹은 지시어’입니다. 이 과정은 여러분이 수학 시간에 배운 “식의 계산(Evaluation)” 방식과 그 원리가 완전히 동일합니다.

이때 연산의 재료가 되는 데이터나 변수를 피연산자(Operand)라고 부릅니다. 예를 들어 5 + 3이라는 식에서 +는 덧셈을 지시하는 연산자이고, 53은 덧셈 기계에 들어가는 재료인 피연산자입니다. 수학에서 수식 $2x + 5$의 문자에 값을 대입(Substitution)하여 척척 하나로 계산(Evaluation)해 내듯, 파이썬의 연산자 기계들도 여러 개의 피연산자를 집어삼키고 단 하나의 최종 결과를 뱉어냅니다!

연산자와 피연산자의 개념 (다이어그램: 피연산자(재료)가 컨베이어 벨트를 타고 연산자(기계)에 들어가 결과값으로 가공되어 나오는 과정을 묘사한 애니메이션입니다.)

📥 다양한 연산자 실습용 노트북 다운로드 및 실행:

연산자의 탄생과 진화

우리가 일상적으로 사용하는 사칙연산 기호(+, -, *, /)는 수학의 오랜 역사 속에서 어떻게 하면 복잡한 수식을 간결하게 표현할 수 있을까에 대한 인류의 고민 끝에 탄생한 ‘표준화된 약속’입니다.

  • + (덧셈) / - (뺄셈): 15세기 말 독일의 수학자 요하네스 비드만이 상업 장부에서 무겁고 가벼움을 표시하기 위해 처음 쓰기 시작하며 대중화되었습니다.
  • * (곱셈): 영국의 수학자 윌리엄 오트레드가 1631년 알파벳 X와 비슷한 형태의 곱셈 기호를 처음 제안했습니다.
  • / (나눗셈): 1659년 스위스의 수학자 하인리히 란이 가로줄 위아래 점을 찍어 나눗셈을 직관적으로 표현하면서 널리 쓰이게 되었습니다.

수학의 연산자 vs 컴퓨터 프로그래밍의 연산자 (결정적 차이점)

수학의 연산자와 파이썬(컴퓨터)의 연산자는 비슷하게 생겼지만, 그 내부 동작 철학은 완전히 다릅니다. 이 차이를 이해하는 것이 프로그래밍 기초의 핵심입니다.

  1. 등호(=)의 의미가 완전히 다릅니다:
    • 수학: “양쪽의 값이 서로 같다”는 ‘상태(상등)’를 나타냅니다.
    • 컴퓨터(=): “오른쪽의 결과값을 왼쪽의 변수라는 상자 안에 집어넣어라”라는 강력한 ‘대입(명령)’의 의미입니다. (컴퓨터에서 ‘같다’는 ==라는 두 개의 등호를 사용합니다.)
  2. 시간의 흐름(절차)이 존재합니다:
    • 수학: x = x + 1 이라는 수식은 수학적으로 성립할 수 없는 모순된 문장입니다.
    • 컴퓨터: x = x + 1 은 매우 정상적이며 자주 쓰이는 코드입니다. 컴퓨터는 등호를 기준으로 무조건 오른쪽 연산을 먼저 전부 끝낸 뒤, 그 최종 결과물을 마지막에 왼쪽 변수 x에 덮어씌웁니다.
  3. 데이터 타입의 엄격함: 수학에서는 사람의 맥락에 따라 숫자와 문자가 섞여도 유연하게 해석되지만, 컴퓨터 연산자는 “숫자는 숫자끼리, 문자는 문자끼리”라는 데이터 타입 클래스(type)의 엄격한 규칙 아래에서만 작동합니다.

2) 파이썬만의 독특한 “무한의 상자”

반면 파이썬(Python)의 변수 구조는 완전히 새로운 철학으로 설계되었습니다. 파이썬에게 숫자 3이나 5는 변수라는 빈 상자에 쇳덩이처럼 담기는 값이 아닙니다. 대신, 저 텅 빈 우주 공간에 3이라는 거대한 별(객체, Object)이 이미 존재하고 있고, 변수 x는 그저 그 별을 가리키는 레이저 포인터(이름표)일 뿐입니다.

그래서 파이썬 세상에서는 무한대처럼 큰 숫자가 나타나도 변수 상자가 터지지 않고 부드럽게 그 값을 가리킵니다. 수학자의 무한한 사고방식을 컴퓨터 안에 가장 아름답게 구현해 낸 것이 바로 파이썬의 연산자와 데이터 구조입니다.

이러한 파이썬의 놀라운 구조는 [3.1.6.6] Java vs Python 연산자 비교 파트에서 이어지는 웹툰과 예시를 통해 더욱 생생하게 다뤄볼 것입니다.


요약정리

  • 연산자(Operator): 데이터를 주무르는 마법의 기호들 (+, -, =, and 등)
  • 피연산자(Operand): 기호의 명령을 충실히 따르는 데이터 재료 (10, "Hello" 등)
  • 컴퓨터 코딩에서 나타나는 = (할당 연산자)는 수학의 “서로 같다”는 뜻이 결코 아니며, “오른쪽에서 계산을 다 끝낸 결과를 왼쪽 이름표 장부에 기록하라”는 매우 계산적인 지시어입니다.

코딩 영단어 학습 📝

  • Operator: 조작자, 연산자. (+, -, and 등에게 “이 데이터를 볶고 지져라!” 라고 지시하는 부호입니다. 기계를 조작하는 사람을 오퍼레이터라고 부르는 것과 같습니다.)
  • Operand: 피연산자. (수술(Operation)을 당하는 대상, 즉 연산 기계에 들어가는 재료 값(3, 5)을 뜻합니다.)
서브목차