---
# System prepended metadata

title: Day 14 - 피어세션

---

## Day 14 - 피어세션


### 상추
- 구현 방법
    - 모든 메서드에 반복문을 사용하지 않고 stream을 이용하였다.
    - Alpha가 실행하는 함수들은 숫자를 매개변수로 받아 해당 숫자가 조건에 부합하는지 확인하고 boolean 값을 리턴한다.
    - BiFunction 함수형 인터페이스를 이용해 확인하고 싶은 숫자의 범위를 매개변수로 넘기고 결과를 출력한다.

- 칭찬 및 피드백
    - Sid: factors를 함수형으로 간단하게 축소하신 점이 좋았습니다. 훨씬 더 가독성이 좋고 간단한 구조로 구현된 것 같아요.
    - Sid: 꼼꼼하게 작성한 기능 테스트들도 좋았습니다.
    - Alex:  박싱과 언박싱 과정을 고려해서 코드를 작성한 것이 좋았습니다.

### Alex
- 구현 방법

  - 함수형 프로그래밍 패러다임을 적용하도록 외부 변수와 객체를 참조하는 방식이 아니라 인자로 넣는 방식을 활용했다. 

- 칭찬 및 피드백
    - Sid: 공통적인 부분을 부모 객체로 뺀 것이 인상적이었습니다. 저도 적용해볼래요!
    - 상추: 테스트를 활용하신게 인상적이었습니다.

### Kalia
- 구현 방법
    - 순수 함수를 이용해서 같은 입력을 했을 때 동일한 결과를 반환하도록 했습니다.
    - 함수가 실행되는 동안 함수 외부의 어떠한 상태도 변경하지 않게 했습니다.
    - 반복문과 조건문이 들어갈만한 함수는 filter, foreach 같은 고차함수를 사용했습니다.

- 칭찬 및 피드백
    - 늦었습니다. 죄송합니다..! (kalia)

### Sid
- 구현 방법
    - 객체지향의 장점과 함수형의 장점을 섞고자 했습니다. ClassifierAlpha와 PrimeAlpha 객체가 그 객체와 관련된 (함수형)메서드를 들고 있고, Main에서 두 객체의 메서드를 함수형으로 엮었습니다. 
    - ClassifierAlpha와 PrimeAlpha 객체에서 사용하는 메서드를 map에 predicate 형식으로 넣어두었습니다.

- 칭찬 및 피드백
    - 상추: 맵에 predicate를 키값으로 넣어 활용한 점이 좋았습니다.
    - Alex: 맵을 활용해서 분기점을 나눈 것이 좋았습니다. 
