변수의 타입
이란 int, float, String, array와 같은 변수의 자료형을 뜻한다.
정적타입 언어
란 컴파일 시 변수의 타입이 결정되는 언어이다. 컴파일 시에 자료형에 맞지 않는 값이 들어있으면 컴파일 에러가 발생한다. Java, C, C++, C# 등이 정적타입 언어이다.
(코드짜면서 직접 타입 지정해줘야 함)
장점 : 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입의 안정성이 높고, 컴파일 시에 미리 타입을 결정하기 때문에 실행속도가 빠르다.
단점 : 매번 코드 작성시 프로그래머가 변수에 들어갈 값의 형태에 따라 직접 변수의 타입을 명시해줘야하는 번거로움이 있다.
동적타입 언어
란 자료형이 컴파일이 아닌 런타임 시 결정된다. 동적타입 언어로는 Python, JavaScript, Ruby, PHP 등이 있다.
(코드 짤 때 타입 안써줘도 됨 런타임 때 알아서 결정됨)
장점 : 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 유연성이 높고, 컴파일시 타입을 명시해주지 않아도 되므로 코드를 빠르게 작성할 수 있다.
단점 : 실행 도중에 변수에 예상치 못한 타입이 들어와 타입에러가 발생할 수 있다.