Static/Dynamic Typed Language

최대 1 분 소요


1. Static Typed Language

정적 타입 언어
컴파일 시점에 변수의 타입이 결정되는 언어

팀 내의 엔지니어 수준 차이가 크거나 팀이 자주 바뀌는 경우 코드의 품질을 일정 수준 이상 유지시킬 수 있다. 대표적인 정적 타입 언어는 C, C++, C#, Java 등이 있다. 정적 타입 언어는 다음과 같은 장점을 갖는다.

  • 컴파일 시점에 에러를 찾을 수 있기 때문에 쉽고 빠르게 에러 확인이 가능하다.
  • 런타임 시 타입 충돌로 인한 에러를 사전에 방지할 수 있다.

다음과 같은 단점을 갖는다.

  • 타입 지정으로 코드가 길어지는 경향이 있다.

2. Dynamic Typed Languages

동적 타입 언어
런타임 시점에 변수의 타입이 결졍되는 언어

타입 확인이 필요 없기 때문에 빠르게 프로토타입(prototype)을 개발하고 피드백을 받아 수정할 수 있다. 대표적인 동적 타입 언어는 JavaScript, Objective-C, PHP, Python, Ruby 등이 있다. 동적 타입 언어는 다음과 같은 장점을 갖는다.

  • 타입을 지정할 필요가 없으니 그만큼 코드의 양이 적다.
  • 러닝 커브(learning curve)가 낮다.

다음과 같은 단점을 갖는다.

  • 런타임 시 타입 충돌로 인한 에러가 발생할 수 있다.

REFERENCE

카테고리:

업데이트:

댓글남기기