Computer Programming/AI

TIL_정적 타입(Static Typing)과 동적 타입(Dynamic Typing)

JYCoder 2023. 11. 16. 04:44

프로그래밍에서 정적 타입과 동적 타입은 변수의 타입을 결정하는 방식을 나타낸다.

 

정적 타입(Static Typing) 언어에서는 변수를 선언할 때 해당 변수의 타입을 명시적으로 지정해야 하지만, 동적 타입(Dynamic Typing) 언어에서는 변수의 타입을 명시적으로 지정하지 않아도 된다.

 

이 두 타입의 장단점에 대한 정리를 해 보았다.

 

  정적 타입(Static Typing) 동적 타입(Dynamic Typing)
특징 변수의 데이터 타입이 compile 시간에 결정되고, runtime 동안에는 변경할 수 없음 변수의 데이터 타입이 runtime 동안 결정되고, 동적으로 변경할 수 있음
언어 종류 C, C++, Java, Swift, Kotlin Python, JavaScript, Ruby, PHP
장점 - compile 할 때 type error를 찾을 수 있어 runtime 시 발생할 수 있는 일부 오류를 방지

- 성능 최적화 가능, 코드 실행 전 메모리 할당 및 타입 변환에 대한 최적화 수행
- 코드 작성이 간단, runtime 중 유연하게 타입 변경

- 빠르게 prototyping 하거나 작은 규모의 프로젝트를 개발하는데 유용
단점 - 타입 정의를 위한 코드 작성이 필요하여 코드가 더 길어질 수 있음

- 유연성이 감소
- runtime 시 타입 오류가 발생할 수 있음, 이는 프로그램이 실행되는 동안에만 발견

- 실행 중 타입 변환에 따른 성능 부담

 

LIST

'Computer Programming > AI' 카테고리의 다른 글

TIL_Generator란?  (0) 2023.11.16
TIL_Closure란?  (1) 2023.11.16
TIL_Interpreter와 Compiler란?  (0) 2023.11.10
Python의 parameter와 argument의 차이점은?  (0) 2023.11.10
TIL_환경 변수(PATH)란?  (0) 2023.11.08