[JavaScript] 동적언어와 정적언어
들어가기 전
- 자바스크립트에 대해 공부를 하며 포스팅을 하기로 마음먹었다.
- 먼저 자바스크립트는 대표적인 동적언어인데, 이에 대한 포스팅을 하며 자바스크립트의 문을 열어보려 한다.
정적 언어 (Statically Typed Language)
- 컴파일 시간에 변수의 타입이 결정되는 언어.
- 타입 즉, 자료형을 컴파일 시에 결정하는 것.
- C, C++, Java 등은 대표적인 정적 언어이다.
- 정적 언어는 변수에 들어갈 값의 형태에 따라 자료형을 지정해주어야 한다.
- 컴파일 시에 자료형에 맞지 않는 값이 들어있을 경우 컴파일 에러가 발생한다.
- 컴파일 시간에 변수의 타입을 체크하므로 사소한 버그들을 쉽게 체크할 수 있는 장점이 있다.
- 즉 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입의 안정성이 올라간다.
동적 언어 (Dynamically Typed Language)
- 런타임에 타입이 결정되는 언어.
- 즉, 소스가 빌드될 때 자료형을 결정하는 것이 아니라 실행 시 결정된다.
- 매번 타입을 써줄 필요가 없기 때문에 프로그래머가 빠르게 코드를 작성할 수 있다.
- JavaScript, Ruby, Python 등은 대표적인 동적 언어이다.
- 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 선택의 여지가 있다.
- 실행 도중에 변수에 예상치 못한 타입이 들어와 Type Error가 발생하는 경우가 생길 수 있다.
마치며
- 이번 포스팅에선 동적 언어와 정적 언어에 대해 간단히 알아보았다.
- 자바스크립트는 대표적인 동적 언어이지만, 자바스크립트 역시 Type에 대해 재밌는 부분들이 많다.
- 다음 포스팅은 Type에 대한 이야기로 시작하겠다.
댓글남기기