[Java] Java8 표준 함수형 인터페이스
·
Java
Java 8에서 기본으로 제공하는 함수형 인터페이스는 무엇이 있을까? 참고링크 1. 표준 함수형 인터페이스 Java 8부터 기본으로 제공하는 함수형 인터페이스 Java.lang.function 패키지 활용 예시 ArrayList 클래스의 forEach 메소드를 보면 Consumer를 매개 값으로 활용하고 있는 것을 알 수 있다 Consumer : T를 받아서 아무 값도 리턴하지 않는 함수형 인터페이스 public class ArrayList extends AbstractList @Override public void forEach(Consumer
[Java] ::new 는 무엇일까? Java 8 메소드 레퍼런스 (Method Reference)
·
Java
온라인 상의 자바 예시 코드를 보면 종종 Member::new 이런식으로 ::new 혹은 다른 메소드로 코드가 짜여진 경우가 있다 1. 메소드 레퍼런스 람다 표현식을 구현할 때 쓸 수 있는 방법으로 기존에 있던 다른 메소드를 참조하여 그 메소드 자체를 함수형 인터페이스의 구현체로 사용 람다의 구현 자리를 기존에 이미 있는 어떤 메서드를 참조하는 방식 람다 표현식이 단 하나의 메소드만을 호출하는 경우에 해당 람다 표현식에서 불 필요한 매개변수를 제거하고 사용할 수 있다. :: 연산자를 이용해 메소드 이름과 클래스를 분리하거나, 메소드 이름과 객체의 이름을 분리한다. 클래스::메소드 객체::메소드 클래스::new 2. 유형 1) 스태틱 메소드 참조(Static Method Reference) 클래스::정적메..
[LoaTodo / Spring] 주간 숙제 완료 시 수치가 초과되는 에러
·
Project/LoaTodo
1. 서론 주간 숙제 완료(체크)시 수치가 초과되는 에러가 있다 오른쪽 상단 주간 수익 107.4%... 2. 개발 2 - 1. 백엔드 원인 골드 획득 리스트랑 상관없이, 캐릭터에 저장된 컨텐츠가 수익으로 더해짐 character.getTodoV2List()를 반복문을 돌려서 todoResponseDtoList 만들고 난 후 토탈 골드 획득 높은 순으로 3개를 정렬하여 4번째 부터는 0골드로 변경 -> 여기서 characterDto.setWeekGold 할 때, todoResponseDtoList랑 상관없이 character.getTodoV2List()여기에 있는게 더해짐 2 - 2. 백엔드 수정 -> todoResponseDtoList 생성 후 character.getTodoV2List() 반복문 한번..
[Java] Java8 Optional : orElse, orElseThrow, orElseGet
·
Java
Optional의 예외처리 - orElse(default)는 Optional 값에 null이 들어올 경우에 orElse의 default 값으로 return - orElseGet(() -> default)은 Optional 값에 null이 들어올 경우에 default 값으로 return - orElseThrow는 Optional 객체가 비어있을 경우에 예외를 던짐 -> 그렇다면 orElse와 orElseGet의 차이가 없는건가? 이거에 대한 내용은 "Optional을 올바르게 사용하기 위한 방법을 제공하는 26가지" 글에 나와있다. 26 Reasons Why Using Optional Correctly Is Not Optional - DZone We take a look at the top 25 most ..
[책 정리] 디자인 패턴 - 팩토리 패턴
·
책&강의 정리
시작하기전 질문 ✏️ 9. 팩토리 패턴이 무엇인가요? 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴입니다. 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴입니다. ✏️ 10. 팩토리 패턴은 그럼 왜 사용하나요? 객체 생성 로직을 추상화하여 유지보수성을 향상하고, 클라이언트 코드와 객체 생성을 분리하기 위해 사용합니다. 주로 다양한 객체 유형을 생성해야 하고, 생성 과정이 복잡하거나 변경 가능한 경우에 유용하게 사용됩니다. ✏️ 11. 팩토리 패턴은 어떻게 사용하나요? Java의 경우, 팩토리 메서드나 추상 팩토리 인터페이스를 정의하고, 서브클래스에서 구체적인 객체를 생성하도록 구현합니다. ✏️ 12...
[책 정리] 디자인 패턴 - 싱글톤 패턴
·
책&강의 정리
시작하기전 질문 ✏️ 1. 디자인 패턴에 대해 설명해주세요. 디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책입니다. 이는 코드에서 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 미리 만들어진 청사진과 비슷합니다. 디자인 패턴 계의 교과서로 불리는 GoF의 디자인패턴에서는 객체지향적 디자인 패턴의 카테고리를 "생성 패턴(Creational Pattern)", "구조 패턴(Structural Pattern)", "행동 패턴(Behavioral Pattern)" 3가지로 구분하고 있습니다. 생성패턴에는 싱글톤 패턴, 팩토리 메서드 패턴, 빌더 패턴등이 있고 구조패턴에는 어댑터 패턴, 프록시 패턴 행동 패턴에는 전략 패턴, 옵저버 패턴 등이 있습니다. ✏️ 2. ..
마볼링
게임을 좋아하는 개발자의 블로그