이 글은 PC 버전 TISTORY에 최적화 되어있습니다.
타입
타입이란, 한글로 자료형입니다. int형, short형, float형, bool형, 객체 등이 있습니다.
int a = 10;bool isKilled = false;Character human = new Character( );
와 같이 변수를 선언할 때 앞에 붙여 사용합니다.
정적언어, 정적타입 모두 같은 의미로 쓰이고 있습니다. 쉬운 개념이므로 이 단어가 나왔을 때 쫄지 않기 위해 알아보도록 하겠습니다. ^^
정적언어
정적언어라는 것은 위에서 언급한 '타입' 즉 자료형을 컴파일 시에 결정하는 것 입니다. 우리가 잘 아는('이름을 잘 아는') C, C#, C++, Java 등의 언어가 있습니다. 이들 언어는 변수에 들어갈 값의 형태에 따라 자료형을 지정해주어야 합니다. 컴파일 시에 자료형에 맞지 않은 값이 들어있으면 컴파일 에러가 발생합니다.
[C Language]int num = 1; // 컴파일 성공float num2 = 1.03; // 컴파일 성공bool num3 = 1; // 컴파일 에러
장점 : 컴파일 시에 타입에 대한 정보를 결정하기 때문에 속도↑ , 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입의 안정성↑
동적언어
요즘 많이들 쓰시는 JavaScript, Ruby, Python, SmallTalk 등이 바로 동적언어입니다. 동적 타입 언어의 자료형은 컴파일 시 자료형을 정하는 것이 아니고 실행 시에 결정합니다. 다음과 같이 타입 없이 변수만 선언하여 값을 지정할 수 있습니다.
[Python]num1 = 10;name = "Evan Hwang"
장점 : Run time까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 많은 선택의 여지가 있습니다.
단점 : 인터프리터 언어는 배우기는 쉬우나 실행 도중에 변수에 예상치 못한 타입이 들어와 Type Error 를 뿜는 경우가 생길 수 있습니다. 잘 생각해서 사용해야합니다.
반응형