간결한 클래스 정의
: 한 줄의 클래스 선언만으로도, 컴파일 시 생성자, get/set 접근 등 자동 생성됨
data class Address(var city:String, var country:Country)
확장함수 생성 가능
: 클래스 내부에 함수를 미리 선언하지 않았더라도,
클래스.~의 형식으로 확장된 함수를 정의 가능
fun Address.getFullName(): String = this.getCity() + ", " + this.getCountry()
함수형(functional) programming
: 프로그램을 각각의 독립적인 함수의 연쇄작용으로 구조화하는 개념
** 각 함수를 자료구조에 넣어서 해당 요소로서 호출할 수도 있고,
람다식을 통해, 별도 함수로 선언되지 않은 로직을 거친 값을 함수의 인자로 전달할 수도 있다.
Q1) 오직 순수함수의 연쇄로 이루어진 로직 구조가 가장 이상적인 함수형 프로그래밍인걸까?
Q2) 클래스의 확장함수 선언을 통해 생성자 오버라이딩도 할 수 있을까?
> [오늘의 궁금]은 앞으로 배우면서 Answer을 채워갈 예정입니다.
(누군가 도움을 주신다면 감사할거에요 :D )