더북(TheBook)

isMoney 함수의 반환값 타입으로 param is Money 타입을 표기했습니다. 이를 타입 서술 함수(Type Predicate)라고 부릅니다. Predicate는 매개변수 하나를 받아 boolean을 반환하는 함수를 의미합니다.

param is Money 타입은 기본적으로 boolean입니다. 여기에 is라는 특수한 연산자를 사용했는데, 이렇게 하면 isMoney의 반환값이 true일 때 매개변수의 타입도 is 뒤에 적은 타입으로 좁혀집니다.

다만 is 연산자를 사용할 때는 타입을 잘못 적을 가능성이 생깁니다. 예를 들어 다음 코드와 같이 실수로 param is Liter로 잘못 적은 경우에는 타입 좁히기가 반대로 되어버립니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.