정적 타입 언어 vs 동적 타입 언어

이서현·2021년 8월 4일
0

Javascript

목록 보기
4/6
post-thumbnail

타입

타입은 int, short, float, bool, 객체 등 자료형을 나타낸 것이다.
변수를 선언할 때 앞에 붙여서 사용한다.

int one = 1;
bool isType = true;

정적 타입 언어

정적언어는 타입을 컴파일 시에 결정한다. C, C#,C++, JAVA가 정적언어이다.
프로그래머가 변수에 들어갈 값에 따라 변수의 타입을 설정해야 한다. 값과 맞지 않는 타입을 입력하면 컴파일 에러가 발생하게 된다.

int num = 1;

정적언어 장점

  • 타입 에러로 인해 문제점이 생기면 초기에 발견할 수 있다. 따라서 타입의 안정성이 높다.
  • 컴파일 시에 미리 타입을 결정해주기 때문에 실행 속도가 빠르다.
  • 타입을 명시하기 때문에 가독성이 높다. 타입을 머리로 계산해서 읽어야 하는 동적탕비 언어에 비해 코드의 가독성이 좋다.
  • 다수의 협업이나 프로젝트의 장기개발, 유지보수에 좋다.

정적언어 단점

  • 매번 변수마다 타입을 설정해야 한다.

동적 타입 언어

동적타입 언어는 런타임 시 자료형이 결정된다. 즉, 타입없이 변수만 선언해서 값을 지정할 수 있다.
JavaScript, Ruby, Python 등이 동적타입 언어이다.

let num = 1;

동적언어 장점

  • 런타임까지 타입에 대한 결정을 끌고 갈 수 있다. 따라서 유연성이 높다.
  • 컴파일 시 타입을 명시하지 않아도 된다.
  • 상대적으로 지켜야할 규칙이 적고 코드가 짧아서 Learning Curve가 낮다.

동적언어 단점

  • 예상치 못한 타입이 들어올 경우 타입에러가 발생할 수 있다. 타입에러가 발생할 경우 에러를 찾기 어려워진다.

참조

정적타입 언어 vs. 동적타입 언어 특징 비교하기
정적언어(타입)과 동적언어(타입)
[Basic] 정적타입 언어와 동적타입 언어

profile
안녕하세요. 이서현입니다( ღ'ᴗ'ღ )

0개의 댓글