개발 보석함

정적타입 언어와 동적타입 언어

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 등

장점

  • 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 유연성이 높다.
  • 컴파일시 타입을 명시해주지 않아도 되기 때문에 빠르게 코드를 작성할 수 있다.

단점

실행 도중에 변수에 예상치 못한 타입이 들어와 타입에러가 발생할 수 있다.


참고사이트

https://devuna.tistory.com/82

블로그의 프로필 사진

블로그의 정보

개발 보석함

hiSon

활동하기