상추의 IT저장소

IT지식) 정적언어 vs 동적언어 본문

IT지식

IT지식) 정적언어 vs 동적언어

구너상추 2022. 11. 20. 17:00

정적언어

정적타입 언어라는 것은 위에서 언급한 '타입' 즉 자료형을 컴파일 시에 결정하는 것이다. 대표적으로 C, C#, C++, Java 등의 언어가 이에 포함된다. 이들 언어는 변수에 들어갈 값의 형태에 따라 자료형을 지정해주어야 한다. 컴파일 시에 자료형에 맞지 않은 값이 들어있으면 컴파일 에러가 발생한다.

예시>> 
int num = 1; // 컴파일 성공
float num2 = 1.03; // 컴파일 성공
bool num3 = 1; // 컴파일 에러
- 장점 : 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입의 안정성이 높다. 컴파일 시에 미리 타입을 결정하기 때문에 실행 속도가 빠르다.
- 단점 : 매번 코드 작성시 변수형을 결정해줘야 하는 번거로움이 있다.
 

동적언어

동적타입 언어는 컴파일 시 자료형을 정하는 것이 아니라 런타임시에 결정이 된다. JavaScript, Python 등이 이에 포함된다. 타입 없이 변수만 선언하여 값을 지정할 수 있다.

 

예시>>

const num1 = 10;
let name = "lettuce";

 

장점 : Run time까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 많은 선택의 여지가 있습니다.
단점 : 인터프리터 언어는 배우기는 쉬우나 실행 도중에 변수에 예상치 못한 타입이 들어와 Type Error 를 뿜는 경우가 생길 수 있다.

 

 

 

'IT지식' 카테고리의 다른 글

IT지식) .env  (0) 2024.07.23
IT지식) 네이밍 컨벤션 (Naming Convention)  (0) 2023.01.13
IT지식) Cookie , Session  (0) 2022.11.23
IT지식) GET vs POST  (0) 2022.11.23
IT지식) HTTP통신 VS Socket 통신  (0) 2022.11.22