정적타입 언어와 동적타입 언어
by hiSon타입이란 String, int, short과 같은 자료형을 말한다.
정적 타입 언어(Statically typed language)
타입(자료형)을 컴파일시 결정하는 언어이다.
코드를 작성할 때 미리 자료형을 직접 적어야한다.
정적 타입 언어 : Java, C, C++, C#, Scala, Fortran, Haskell, ML, Pascal 등
장점
- 컴파일 시에 타입에 대한 정보를 결정하기 때문에 실행속도가 빠르다.
- 타입에러로 인한 문제점을 초기에 발견할 수 있기 때문에 타입의 안정성이 높다.
단점
- 코드를 작성할 때마다 타입을 지정해줘야한다.
동적 타입 언어(Dynamically typed languages)
자료형이 컴파일 시 자료형을 정하는 것이 아닌 실행시에 결정한다.
타입 없이 변수만 선언하여 값을 지정할 수 있다.
동적 타입 언어 : JavaScript, Ruby, Python, SmallTalk, Groovy, Lisp, Objective-C, PHP, Prolog 등
장점
- 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 유연성이 높다.
- 컴파일시 타입을 명시해주지 않아도 되기 때문에 빠르게 코드를 작성할 수 있다.
단점
실행 도중에 변수에 예상치 못한 타입이 들어와 타입에러가 발생할 수 있다.
참고사이트
블로그의 정보
개발 보석함
hiSon