타입이란 자료형입니다. int형, float형, double형, string형, 객체 등이 있습니다.
정적 타입 언어
타입(자료형)이 고정된 언어입니다. 정적언어는 자료형을 컴파일 시에 결정하는 것입니다.
따라서 소스코드 상에 자료형을 지정해줍니다. 정적언어의 대표적인 종류는 C, C#, C++, JAVA 등이 있습니다. 컴파일 시 자료형에 맞지 않은 값이 저장되면 컴파일 에러가 발생합니다.
정적언어는 컴파일 시 타입에 대한 정보를 결정하기 때문에 속도가 빠르고, 타입 에러로 인한 문제점을 초기에 발견할 수 있으므로 타입의 안정성이 올라갑니다.
동적 타입 언어
타입(자료형)이 동적으로 변하는 언어입니다. 동적언어의 자료형은 실행될 때 결정됩니다.
정수형으로 선언되었던 변수가 문자형으로도 저장되고 객체로도 저장될 수 있습니다.
요즘 많이 사용하는 Python, JavaScript, Ruby 등의 언어가 동적언어입니다.
동적언어는 타입을 덜 신경써도 되므로 간단한 프로그램을 만들때 개발 속도 면에서 유리한 장점이 있습니다.
Python 은 동적타입의 강타입 언어입니다.
그렇다면 강타입이란 무엇일까요?
- 약타입 언어 : 자료형이 맞지 않을 시에 암묵적으로 타입을 변환하는 언어
- 강타입 언어 : 자료형이 맞지 않을 시에 에러 발생, 암묵적 변환을 지원하지 않음
예를들어 1 + "1"을 계산하면 약타입 언어인 자바스크립트에서는 "11"로 타입을 변환하여 계산되지만 Python 의 경우에는 TypeError 가 발생하게 됩니다.
Python 은 3.6 버전부터 정적타입도 지원하고 있습니다. 하지만 Python을 정적타입 언어로 사용하는 문화가 없으니 협업할 때 동료들의 불편함을 유발 시킬 수 있고 해당 기능이 안정적인 버전이 아니라고 하여 모든 프로젝트에 해당 기능을 대입하기는 이르다고 합니다. 이러한 기능이 3.6버전부터 생겼다 정도만 인지하고 다음 시간에 유익한 내용으로 찾아오겠습니다.
'프로그래밍 언어 > python' 카테고리의 다른 글
Selenium 사용법(자동 로그인) (0) | 2019.08.16 |
---|---|
python 데이터 통신 프로토콜 : pickle 모듈 (0) | 2019.08.13 |
문자열 포맷팅 (python) (0) | 2019.08.11 |
장고 파일 업로드 기본 개념(django file upload) (0) | 2018.11.27 |
파이썬 인터넷 교재 (0) | 2014.01.26 |