책의 내용이 길고 어렵지만 시작해보자.
요약
책을 읽고 좀더 보충해보자.
컴파일시 컴파일러가 타입을 검증!
컴파일 시점에서 실행시 오류 발견 가능
코틀린은 모든 변수 타입을 명시할 필요없이 코틀린 컴파일러가 추론이 가능함.
인텔리제이로 따지면 빨간줄이나오면 컴파일(문법오류)시점
실행시킬때 런타임 시점 ..
일급시민함수
처음엔 개념이 헷갈렸지만 코드를 보면서 이해했다.
함수는 일반값처럼 저장 하거나 / 인자로 다른 함수에 전달/ 함수->새로운 함수로 변환
객체나 변수가 생성된 이후 변경되지 않는 것!
함수형 프로그래밍에서의 불변성
내가 이해하는 바로는 그림에 나와있는 변수? 객체 리스트를
함수를써서 내부의 값의 변경대신 새로운 값을 생성하는 방식이다.
불변성을 지향하는 함수형 프로그래밍은 값을 변경X 새로운값을 생성하는 방식으로 동작 한다!
코틀린은 listOf , mapOf 등 으로 불면 컬렉션을 생성한다.
또 왜 불변성이라 하면 위 두개로 컬렉션만들고
요소를 추가하거나 , filter로 새로운 리스트를 만들면
다른 컬렉션 변수에 저장한다
종합적으로 이해하자면 원본은 유지하고 복사를 통해새로운객체 추가 삭제 수정을 하는듯 ?
이런 예시가 있다 조금 이해할거같으면서도 깊게 생각하면 어렵다.
이렇게 함수형프로그래밍의 핵심개념에 대해 조금 공부해 봤다.
이러한 개념으로 얻는 이익은
간결하며
순수함수로 인해 값처럼 활용 -> 강력한 추상화
(여기서 값처럼 활용은 함수를 변수에 할당시키는등을 말한다.)
------------- Study Group