전체 글

나와 더불어 성장할 개발새발 블로그
Language/Java

[Java] 메서드 참조

메서드 참조란?이미 정의된 메서드를 그대로 참조하여 람다 표현식을 더 간결하게 작성하는 문법이다.즉, 람다가 단순히 이미 정의된 어떤 메서드를 호출하는 경우, 이를 축약해준다. 람다와 관련된 포스팅은 해당 글을 참고하면 좋을 것 같다. 람다 -> 메서드 참조Function function = s -> s.length();매개변수로 문자열이 들어오면 문자열의 길이를 반환해주는 람다식이다. Function function = String::length;위 람다식을 변환한 메서드 참조 형태이다.'::' 연산자를 사용해 메서드 참조를 나타 낼 수 있다. 메서드 참조에서는 컴파일러가 시그니처(매개변수, 타입)을 바탕으로 메서드 참조와 연결해주기 때문에, 명시적으로 매개변수를 작성하지 않아도 자동으로 추론되어 호..

Language/Java

[Java] 람다와 함수형 프로그래밍

개요메서드 파라미터에 값이 아닌 어떠한 로직을 넘기고 싶을 경우가 있다면, 어떻게 해야 할까? 인터페이스 구현 후, 구현한 클래스 넘기기public class ExMain { public static void hello(Procedure procedure) { //4. 메서드 실행 procedure.run(); } //1. 인터페이스 구현 static class Dice implements Procedure { @Override public void run() { int randomValue = new Random().nextInt(6) + 1; System.out.println("주사위 = " + ..

JPA

[JPA] @SQLRestriction으로 soft delete 구현하기

개요데이터 삭제 정책이 soft delete라면, 데이터 조회 시 delete 상태 여부를 확인하는 조건을 일일이 넣어주어야 할 것이다.@SQLRestriction 어노테이션을 통해 SQL의 where절에 delete 상태 여부를 체크하는 조건을 넣는 방법을 소개하려 한다. 문제코드를 살펴보자. 먼제 Hospital 엔티티이다.@Entity@Table(name = "hospitals")class Hospital( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long? = null, val name: String, ... //삭제가 된 상태라면, 해당 필드에 값 존재 var deletedAt..

kkang._.h00n
깡훈인뎁쇼