더북(TheBook)

3.2.1 함수를 데이터로 이해하기

함수는 데이터와 비슷하다. String이나 Int 등의 타입이 있는 다른 데이터와 마찬가지로 함수도 타입이 있다. 그리고 다른 데이터와 마찬가지로 함수도 참조에 대입할 수 있다. 조금 뒤에 보겠지만 함수를 다른 함수에 인자로 넘길 수 있고, 함수가 함수를 반환할 수 있다. 그리고 다른 데이터와 마찬가지로 함수를 리스트나 맵 같은 데이터 구조에 저장할 수 있다. 심지어는 데이터베이스에 함수를 저장할 수도 있다. 다만 (자바 메서드와 마찬가지로) fun으로 정의한 함수는 이런 방식으로는 조작할 수 없다. 하지만 코틀린은 이런 메서드를 진짜 함수로 변환할 때 필요한 모든 메커니즘을 제공한다.

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