개요 업무에서 주로 Python을 많이 사용하고 있는데, 이전에 공부할 때는 C와 Java를 많이 사용했었다. Java로 프로그래밍을 하다가 Python을 하게 되었을 때 크게 느낀 차이 중 하나가 변수 선언 시 데이터 형에 대한 지정 유무였다. 최근에 관련 개념인 정적 타입 언어와 동적 타입 언어에 대해 되짚어보게 되어, 이 글에서 적어두려고 한다. 컴파일 (Compile) 프로그램 소스 코드를 작성하고 빌드하면 일반적으로 다음과 과정을 거쳐 컴퓨터가 실행할 수 있는 기계어로 번역된다. 이 과정을 컴파일이라고 한다. 이때 컴파일 과정에서 실행 가능한 파일이 만들어지는 순간까지를 컴파일 타임이라고 하고, 실행 가능한 파일이 실행된 이후를 런타임(Runtime)이라고 한다. 변수의 타입이 컴파일 타임과 런..