상추의 IT저장소
IT지식) 정적언어 vs 동적언어 본문
정적언어
정적타입 언어라는 것은 위에서 언급한 '타입' 즉 자료형을 컴파일 시에 결정하는 것이다. 대표적으로 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 |