Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬이 동적 타이핑(Dynamic Typing) 언어라고 불리는 이유는 무엇일까?

파이썬(Python)은 대표적인 동적 타이핑(dynamic typing) 언어입니다. 그렇다면 '동적'이라는 것은 무슨 의미일까요? 파이썬에서는 변수에 값을 할당할 때 변수의 타입을 미리 선언하거나 메모리를 직접 관리할 필요가 없습니다.

반면 C, C++, Java 같은 정적 타입 언어에서는 값을 할당하기 전에 반드시 변수의 종류(자료형)를 엄격하게 선언해야 합니다. 예를 들어 Java에서 int x = 10;처럼 자료형을 명시해야 하는 것이죠.

하지만 파이썬은 변수의 타입을 선언하지 않아도 전혀 문제되지 않습니다. 프로그램이 실행되는 시점(런타임)에 할당된 값을 기반으로 변수의 타입을 스스로 판단합니다. 또한 프로그래밍에서 매우 중요한 메모리 관리 역시 파이썬이 자동으로 처리해 줍니다. 이러한 특성 때문에 파이썬을 '동적 타이핑 언어'라고 부르는 것입니다.

예제 코드

다음 예제를 통해 동적 타이핑이 어떻게 작동하는지 살펴보겠습니다.

## 변수에 값 할당하기
x = [1, 2, 3]

## 이 시점에서 x는 리스트(list)
print(type(x))

## x에 다른 값을 재할당하기
x = True

## 이 시점에서 x는 불리언(bool)
print(type(x))
## 이처럼 원한다면 몇 번이고 재정의할 수 있습니다

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

<class 'list'>
<class 'bool'>

결과에서 볼 수 있듯이, 우리는 프로그램 어디에서도 변수의 타입을 선언하지 않았습니다. 그럼에도 불구하고 파이썬은 런타임에 할당된 값을 분석하여 변수의 타입을 자동으로 인식합니다. 처음에는 리스트였던 xTrue를 할당받는 순간 불리언 타입으로 바뀌는 것을 확인할 수 있죠.

이처럼 유연한 타입 시스템 덕분에 파이썬은 코드 작성이 간결하고 빠른 개발이 가능하지만, 반대로 실행 전에 타입 오류를 잡기 어렵다는 단점도 존재합니다. 따라서 실무에서는 타입 힌트(type hints)를 함께 활용해 코드의 안정성을 높이는 경우도 많습니다.