ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS] 함수형 프로그래밍
    Computer Science 2021. 10. 3. 16:04

    함수형 프로그래밍은 순수 함수 위주로 문제를 해결하는 기법으로, 변수를 줄이고, 가독성을 높이고, 유지보수를 용이하게 만들어준다.

     

    클린코드의 저자 마틴옹은 함수형 프로그래밍을 대입문이 없는 프로그래밍이라고 정의했다.

     

    함수형 프로그래밍의 특징

    함수형 프로그래밍의 특징은 크게 3개로 볼 수 있다.

    1. 불변성

    2. 참조투명성

    3. 일급함수

     

    불변성

    어떤 값의 상태를(메모리에 이미 담긴 상태를) 변경하지 않는다는 뜻

    상태의 변경은 Side Effect(부수 효과)를 일으키기 때문에, 함수형 프로그래밍에서는 이를 제한한다.

     

    참조투명성

    함수가 외부의 영향을 받지 않는 것을 의미한다,

    파라미터와 멤버변수에 결과를 의존한다.

     

    일급함수

    일급이 붙어있다는 뜻은 이런 의미를 갖고 있다.

     

    - 변수나 데이터 구조안에 담을 수 있다.

    - 파라미터로 전달할 수 있다.

    - 동적으로 프로퍼티 할당이 가능하다.

    - 리턴값으로 사용할 수 있다.

     

    그렇기 때문에 JAVA8이 나오기전 자바는 일급객체는 가질 수 있어도, 일급함수를 가질 수 없었다.

    하지만 JAVA8이 나오고, 함수형 프로그래밍을 지원함에 따라 일급함수를 쓸 수 있게됬다.

     

    JAVA8 만의 3가지 기술

    - 인터페이스의 디폴트 메소드

    - 메소드 레퍼런스, 람다

    - Stream API

    댓글

Designed by Tistory.