더북(TheBook)

기본적으로 sayFunc 함수의 타입은 (a: string) => string이라서 매개변수 반공변성에 의해 (a: string | number) => string에 대입할 수 없습니다. 그런데 SayMethod 타입의 경우는 함수를 대입해도 에러가 발생하지 않습니다. 이렇게 '함수(매개변수): 반환값'으로 선언한 것은 매개변수가 이변성을 가지기 때문입니다. '함수: (매개변수) => 반환값'으로 선언한 것은 반공변성을 가집니다.

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