Q. Enum 강의 내용 중, BiFunction을 통해 연산을 수행하도록 해주었는데, 자바에서 제공하는 함수형 인터페이스의 종류에는 어떤 것들이 있고 어떻게 사용하는걸까? 자바 8버전부터 빈번하게 사용되는 함수형 인터페이스를 java.util.function 표준 API 패키지로 제공하고 있으며, 제공되는 함수형 인터페이스는 크게 5가지로 Consumer, Supplier, Function, Operator, Predicate가 있습니다! Function 매개값⭕ 리턴값도 있다⭕ 주로 매개값을 반환값으로 매핑할 때 즉, 타입 변환이 목적일 때 사용한다. BiFunction 두 개의 입력 값(T, U)를 받아서 R 타입을 리턴하는 함수형 인터페이스 추상 메소드: R apply(T t, U u) impor..
객체지향적으로 개발해야하는 이유 클래스와 상속 추상 클래스와 인터페이스 Enum 예외 Object 클래스 Optional 객체지향적으로 개발해야하는 이유 절차지향 프로그래밍 → 객체지향 프로그래밍 왜 우리는 객체지향적으로 개발해야 할까❓ 이는 결국 개발 과정에서 자주 발생하는 문제를 해결하기 위함이다! 먼저 객체지향 프로그래밍이 등장하기 전을 살펴보자👻 절차지향 프로그래밍의 경우 데이터와 그 데이터에 접근할 수 이는 함수 사이에 서로 연관 관계가 낮다. 실제 서비스에서는 메시지를 발송하고, 테스트 시에는 발송하지 않기 위해서는 코드를 변경해야 하는데, 이 과정에서 실수가 유발될 수 있다..!(테스트 용이성) 객체지향 프로그래밍을 통해 인터페이스 이용할 수 있다. 여기서 의문이 들 수 있다! 그래도 코드 ..
if문 제거하기 getter와 setter stream API stream API와 Optional if문 제거하기🌳 너무 많은 if문은 코드를 읽기도 어렵고, 수정과 디버깅을 어렵게 만든다! 같은 로직이라면 if문 없이 작성된 코드가 가독성이 높은 코드가 된다. 개선방법 🤨 1. 빠르게 반환하기 Early return 각각의 if문 안에 들어있던 널 체크와 나누기 연산 시 나누는 수 0인지 먼저 검사 후 예외 처리한다. 2. Enum 안으로 넣기 3. 생성 시점에 유효성 검사 체크를 사용하는 시점이 아니라 생성하는 시점에 하기 파라미터로 받은 값이 정상적인 값임을 검사하는 것이 유효성 검사이다.(검사하여 예외를 던져주기!) 생성 시 실패하는 것을 명시적으로 호출한 쪽에 알려주기 위함이다! 리팩토링 "결..