자료형 - 정적타입과 동적타입

지나·2022년 12월 5일
0




자료형 (Data type)

컴퓨터는 0과 1을 기반으로 한 이진법으로 모든것을 인식하고 표현한다. 한정된 메모리 (RAM) 공간 안에서 용량을 초과하지 않고 많은 작업을 수행하기 위해서는 작업상 다뤄야할 데이터들의 종류에 따라 적절하게 메모리 공간을 할당할 필요가 있다.
자료형 (Data type) 은 프로그래밍 언어에서 여러 종류의 데이터를 식별하는 분류로서, 컴퓨터는 이 데이터 타입에 따라 확보해야 할 메모리 공간을 결정한다.
프로그램이 이러한 자료형의 규칙을 지키는지 검증하는 과정을 자료형 검사라고 부르며, 이 자료형 검사가 컴파일 타임 동안 진행이 된다면 정적 타입, 런타임 동안 진행되면 동적 타입으로 분류한다.




정적타입 언어 (Statically typed language)

변수를 선언할 때, 데이터 타입을 사전에 명시해야 한다.

  • 대표적으로 C, C++, JAVA 등의 컴파일 언어가 있다.
  • 변수 선언 시, 자료형을 지정해야한다.
  • 명시 된 자료형과 맞지 않는 값이 변수로 선언된 경우 컴파일 에러가 발생된다.
  • 자료형을 사전에 명시하기 때문에 작업 수행 속도가 빠르다.
  • type error 로 인한 문제점을 초기에 발견할 수 있다.



동적타입 언어 (Dynamic typed language)

변수에 어떤 데이터 타입의 값이라도 자유롭게 할당, 변경할 수 있다.

  • 대표적으로 Javascript, Python, Ruby 등의 인터프리터 언어가 있다.
  • 변수 선언 시, 매번 자료형을 지정해주지 않아도 되기 떄문에 유연하다.
  • 런타임 도중 데이터 타입이 바뀔 수 있어 에러 가능성이 높다.
  • 유연성은 높지만 신뢰성이 떨어진다.



0개의 댓글