타입 상관없이 객체 검사해서 메소드 있으면 실행한다는거다. somethings.sum 있을 때 somethings가 배열, 문자열, int, float 상관없이 sum이란 메소드를 호출한다는 거지. 그러니까 코드가 실행하는 시점에 호출이 가능한지 아닌지가 명확해 지는 것이고, 정적타입에선 컴파일 타임에 sum호출하는 객체의 타입이 무엇인지를 검사해준다는거지. 둘 다 허용되지만 상정하지 않은 값이 들어오면 런타임에 에러가 나는건 동일하다. null 같은거 말이지. 그래서 null있는 언어에선 ㅈㄴ게 null체크를 한다.
헤드퍼스트 책 읽으면 첫장부터 나오는
오타쿠가 타이핑치면 덕 타이핑
덕질 - dc App
덕테이핑이라는줄
타입 상관없이 객체 검사해서 메소드 있으면 실행한다는거다. somethings.sum 있을 때 somethings가 배열, 문자열, int, float 상관없이 sum이란 메소드를 호출한다는 거지. 그러니까 코드가 실행하는 시점에 호출이 가능한지 아닌지가 명확해 지는 것이고, 정적타입에선 컴파일 타임에 sum호출하는 객체의 타입이 무엇인지를 검사해준다는거지. 둘 다 허용되지만 상정하지 않은 값이 들어오면 런타임에 에러가 나는건 동일하다. null 같은거 말이지. 그래서 null있는 언어에선 ㅈㄴ게 null체크를 한다.