타입
타입(Type)은 자료형을 뜻 함
변수 선언 시 앞에 붙이는 그 자료형!
정적 타입 언어란
정적 자료형, 즉 말 그대로 정적인(움직이지 않는) 자료형의 언어임
C나, Java 등 정적 타입 언어
이런 언어는 변수 선언 시에 들어갈 값의 형태에 맞게 자료형을 정해주어야 함
[Java]
String coffee = "라떼가 최고";
Boolean americano = false;
int cups = 2;
그리고 컴파일 시에 타입을 체크함 → 컴파일 시 타입에 맞지 않은 값이 있으면 컴파일 에러
그렇기에 사소한 타입 에러 같은 오류를 초기에 빠르게 발견 할 수 있음 = 안정성이 높다
동적 타입 언어란
동적 자료형, 즉 말 그대로 유동적인 자료형의 언어
JavaScript, Python 등이 동적 타입 언어
이런 언어는 자료형이 유연하게 동적으로 변하는 언어임
프로그래머 입장에서는 매번 타입을 정의해 줄 필요가 없기 때문에 개발 속도가 빠름
[JavaScript]
var coffee = "라떼가 최고띠";
var americano = false;
var cups = 2;
정적 타입 언어가 컴파일 시에 타입을 체크했다면, 동적 타입 언어는 런타임 시 결정이 됨
그러므로 런타임시 갑작스럽게 TypeError오류를 마주하게 됨
+ 덕 타이핑 (duck typing)
위키백과 참고 → https://ko.wikipedia.org/wiki/%EB%8D%95_%ED%83%80%EC%9D%B4%ED%95%91
덕 타이핑(duck typing)은 동적 타이핑의 한 종류로, 객체의 변수 및 메소드의 집합이 객체의 타입을 결정하는 것을 말한다. 클래스 상속이나 인터페이스 구현으로 타입을 구분하는 대신, 덕 타이핑은 객체가 어떤 타입에 걸맞은 변수와 메소드를 지니면 객체를 해당 타입에 속하는 것으로 간주한다.
"If it walks like a duck and it quacks like a duck, then it must be a duck"
'공부 > 그외' 카테고리의 다른 글
Ajax: a new approach to web application (0) | 2019.02.14 |
---|---|
Github란 무엇인가..... (0) | 2018.11.04 |
DAO, VO, DTO (0) | 2018.10.25 |
C/S 개발환경과 Web (0) | 2018.10.21 |
면접 준비 (0) | 2017.11.06 |