JAVA8 메소드 참조, 생성자 참조 - asloud/dev_note01 GitHub Wiki

1. 메소드 참조

  • '::' 연산자 사용
  • :: 연산자는 메소드 이름과 클래스를 분리하거나, 메소드 이름과 객체 이름을 분리한다
  • 다음의 세 가지 형태로 사용
    • 클래스::인스턴스 메소드
      • 첫 파라미터가 메소드의 수신자, 나머지는 해당 메소드로 전달
      • (x, y) -> x.compareToIgnore(y) 와 String::compareToIgnore 같음
    • 클래스::정적 메소드
      • 모든 파라미터가 정적 메소드로 전달 -> 정적인 메소드를 정적으로 사용
      • X -> Objects.isNull(x) 와 Object::isNull(x) 같음
    • 객체::인스턴스 메소드 -> 해당 객체가 사용
      • 객체에서 주어진 메소드가 호출, 파라미터는 인스턴스 메소드로 전달
      • System.out.println(x) 와 System.out::println 같음

2. 생성자 참조

  • 메소드의 이름이 'new'
  • 메소드 참조와 같음
  • Eployee::new
  • Stream 공부 후 더 정리