[개념 콕] 정적 타입 언어와 동적 타입 언어

내일배움캠프 수료생이 개발에 꼭 필요한 핵심 개념만 콕 집어 드립니다.
Jun 07, 2024
[개념 콕] 정적 타입 언어와 동적 타입 언어
✍🏼
개발을 시작하시는 여러분, 정보가 너무 많고 배워야 할 것도 산더미라 어디서부터 시작해야 할지 막막하신가요? 내일배움캠프 수료생들이 4개월 동안 배운 엄선된 핵심 개념을 직접 정리해서 알려 드립니다. 공부하다 막히거나 헷갈리는 개념이 있다면 개념 콕으로 정리해보세요.
 
프로그래밍 언어는 정적 타입 언어와 동적 타입 언어로 구분됩니다. 여기에서 컴파일 타임(compile time), 런타임이라는 개념이 등장합니다. 우선 컴파일 타임이란 소스 코드가 컴파일을 통해 기계어 코드로 변환되어 실행 가능한 프로그램이 되는 편집 과정을 말합니다. 런 타임(run time) 이란 컴파일 과정을 마친 프로그램이 사용자에 의해 실행되어, 응용프로그램이 동작 되어지는 때를 말합니다.
 

정적 타입 언어(Statically-typed language)

정적 타입 언어(Statically-typed language)란 컴파일 시 변수의 타입이 결정되는 언어입니다. 정적 타입 언어는 작성자가 소스 코드를 작성할 때, 변수에 들어갈 값에 따라 변수의 타입을 직접 지정해야 합니다. 컴파일 시 타입에 맞지 않는 값이 변수에 들어갈 경우, 컴파일 에러가 발생합니다.
 

정적 타입 언어의 장점

  • 타입 안정성 높음: 타입 에러를 컴파일 시 발견할 수 있어, 타입 관련 런타임 에러를 방지
  • 실행 속도 빠름: 컴파일 시 타입이 결정
  • 코드 가독성 좋음: 협업이나 유지보수에 유리
 

정적 타입 언어의 단점

코드를 작성할 때 모든 변수에 타입을 미리 결정해야 하는 번거로움이 있습니다.
 

정적 타입 언어의 종류

C, C#, C++, Java, Kotlin 등
// 정적 타입 언어 예. Kotlin var a: Int = 123 a = "abc" // 컴파일 시 타입 에러 발생!
 
 

동적 타입 언어(Dynamically-typed language)

동적 타입 언어(Dynamically-typed language)란 런타임 시 변수의 타입이 결정되는 언어입니다. 동적 타입 언어는 작성자가 소스 코드를 작성할 때, 변수의 타입을 지정하지 않고 값만 지정할 수 있습니다.
 

동적 타입 언어의 장점

코드를 작성할 때 타입을 명시하지 않아도 되어서 빠르게 코드를 작성할 수 있습니다.
 

동적 타입 언어의 단점

런타임 시 결정된 변수의 타입과 다른 타입의 값이 들어갈 경우, 런타임 타입 에러가 발생합니다.
 

동적 타입 언어의 종류

Groovy, Python, JavaScript, Ruby, Smalltalk, Lisp, Objective-C, PHP, Prolog 등
// 동적 타입 언어 예. Groovy def a = 123 // Groovy에서 타입이 결정되지 않은 변수를 선언할 때 def 사용 a = "abc" // 컴파일 시 에러 X, 런타임 시 타입 에러 발생!
 
 
 

내일배움캠프는 개발에 필요한 핵심만 배웁니다

지금까지 꼭 필요한 개발 지식에 대해 알아보았습니다. 내일배움캠프에서는 전문가들이 선별한 핵심 개발 지식으로 개발 공부도, 취업도 보다 효율적으로 할 수 있는데요. 국내 유수의 IT기업 출신 튜터님들과 실습 위주의 독보적인 커리큘럼으로 개발자 취업을 체계적으로 준비해보세요. 내일배움캠프 4개월, 여러분 인생의 가장 큰 터닝 포인트입니다.
 
 
CREDIT
글 | 이선주 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
 
 

취업 준비, 어디서부터 시작해야 할지 모르겠다면?

 
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
 
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
 
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
 
Share article
Subscribe to our newsletter

내일배움캠프 블로그