함수형 프로그래밍? 함수를 값으로 취급한다. 0개 이상의 인수를 가지며, 한 개 이상의 결과를 반환해야하고, 부작용(no side effect)이 없어야 한다. 함수나 메서드가 어떤 예외도 일으키지 않아야 한다. 여기서 부작용(Side Effect)이란 자료구조를 고치거나 필드에 값을 할당(setter 메서드 같은 생성자 이외의 초기화 동작) 예외 발생 파일에 쓰기 등의 I/O 동작 수행 함수형 프로그래밍의 주요 특성 1. 불변(Immutable) 객체를 사용한다 원본은 변하지 않기 때문에, 객체의 상태를 바꿀 수 없으므로 thread safe하다. 2. 참조 투명성(Referential Transparency) // Pure Function 동시에 함수를 처리해도 사이드이펙트 없이 동일한 값 출력시킬 ..