Computer Science/Programming

정적 타입 지정 vs 동적 타입 지정

by Donghwan 2021. 3. 29.

정적 타입 지정 언어

정적 타입 지정 언어는 C, C#, C++, Java, Kotlin 등의 언어가 있습니다. 정적 타입 지정 언어는 변수에 들어갈 값에 따라 미리 자료형을 지정해주어야 합니다. 정적 타입 지정 언어는 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 필드나 메소드를 사용할 때마다 컴파일러가 타입을 검증해줍니다.

  • 런타임에서 어떤 메소드를 호출할 지 알아내는 과정이 생략되어 메소드 호출이 더 빠릅니다.
  • 컴파일러가 프로그램의 정확성을 검증하기 때문에 실행 시 프로그램이 오류로 중단될 가능성이 낮아집니다.
  • 코드에서 다루는 객체가 어떤 타입에 속하는지 알 수 있기 때문에 파악하기가 쉽습니다.

 

동적 타입 지정 언어

동적 타입 지정 언어는 JavaScript, Groovy, Ruby, Python 등이 있습니다. 동적 타입 지정 언어는 타입과 관계없이 모든 값을 변수에 넣을 수 있고, 메소드나 필드 접근에 대한 검증이 런타임에 일어나며, 그에 따라 코드가 더 짧아지고 데이터 구조를 더 유연하게 생성하고 사용할 수 있습니다.

하지만 반대로 이름을 잘못 입력하는 등의 실수도 컴파일 시점에서 걸러내지 못하고 런타임 시점에서 오류가 발생합니다.

728x90
반응형

댓글