함수형 프로그래밍

    [우아한테크코스] 📚 레벨로그 - 레벨1 인터뷰

    📚 레벨로그 원시값, 컬렉션을 왜 포장해야 하는가? 원시값, 컬렉션을 하나의 클래스로 감싼 형태를 래퍼 클래스, 일급 컬렉션이라고 한다. 원시값과 컬렉션을 포장하면 상태에 대한 처리를 외부가 아닌 내부에서 할 수 있다. 즉, 상태를 외부에 노출시키지 않고, 객체에게 메시지를 던지는 구조로 만들면서 객체지향적이고 응집도 높은 설계가 가능하다. Wrapping한 상태에 대한 로직을 여러 곳에서 중복적으로 작성할 필요가 없다. 하나의 클래스 내에서 행위를 관리하므로, 상태에 대한 로직이 변경되었을 때 단 하나의 클래스만 수정하면 된다. (높은 유지보수성을 보장한다.) TDD(Test Driven Development)란? TDD는 테스트 주도 개발로, 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 방법론이..

    [우아한테크코스] 함수형 프로그래밍(Functional Programming)이란?

    프로그래밍 패러다임은 프로그래머에게 프로그램을 어떻게 바라볼지에 대한 관점을 제공합니다. 명령형 프로그래밍 프로그래밍의 상태와 상태를 변경시키는 구문의 관점으로 접근하는 프로그래밍 방식. 명령형 프로그래밍은 컴퓨터가 실행할 명령들을 실행 순서대로 구현해야 한다. 대부분의 객체 지향 프로그래밍 언어가 명령형 프로그래밍 언어이다. 알고리즘 처리 작업에 적합한 언어이다. 절차지향 프로그래밍, 객체지향 프로그래밍이 이에 속한다. 예시) point를 얻기 위해 실행할 명령들을 순서대로 구현 fun getPoint(customer: Customer): Int { for (i in 0..customers.size) { val c = customers[i] if (customer == c) { return c.poin..