덕 타이핑이란
컴퓨터 프로그래밍 분야에서 duck typing은 동적 타이핑의 한 종류로, 객체의 변수 및 메소드의 집합이 객체의 타입을 결정하는 것을 말한다.
클래스 상속이나 인터페이스 구현으로 타입을 구분하는 대신, 덕 타이핑은 객체가 어떤 타입에 걸맞는 변수와 메소드를 지니면 객체를 해당 타입에 속하는 것으로 간주한다.
덕 타이핑이라는 용어의 유래
다음과 같이 표현될 수 있는 덕 테스트에서 유래했다. (duck은 영어로 오리)
더보기
만약 어떤 새가 오리처럼 걷고 ,헤엄치고, 꽥꽥꺼리는 소리를 낸다면 나는 그 새를 오리라고 부를 것이다
덕 타이핑에서는, 객체의 타입보다 객체가 사용되는 양상이 더 중요하다.
덕 타이핑이 없는 프로그래밍 언어로는 오리 타입의 객체를 인자로 받아 객체의 걷기 메소드와 꽥꽥거리기 메소드를 차례로 호출하는 함수를 만들 수 있다.
반면에, 같은 함수를 덕 타이핑이 지원되는 언어에서는 인자로 받는 객체의 타입을 검사하지 않도록 만들 수 있다
걷기 메소드나 꽥꽥거리기 메소드를 호출할 시점에서 객체의 두 메소드가 없다면 런타임 에러가 발생하고, 두 메소드가 제대로 구현되어 있다면 함수는 정상적으로 있다.
여기에는 인자로 받은 객체가 걷기 메소드와 꽥꽥거리기 메소드를 가지고 있다면 객체를 오리 타입으로 간주하겠다는 암시가 깔려있다
-출처: [덕 타이핑 위키백과]
'Coding > 기타' 카테고리의 다른 글
vi, ls 명령어 터미널에서 못찾을 때 (command not found: ls,vi) (0) | 2020.08.03 |
---|---|
CI(Continuous Integration) / CD(Continuous Deploy or Delivery) (0) | 2020.07.01 |
TDD(Test-driven Development) (0) | 2020.06.19 |
Log Level 구분 (0) | 2020.06.15 |
VSCode Extension - Draw.io (0) | 2020.05.11 |