2024.02.14

김무영·2024년 2월 14일

다중 채팅

추후 추가

Lambda식

  • JDK1.8 (Java SE8)에서 추가된 기능.

  • 인터페이스를 편하게 사용하기 위해서 추가된 기능.
    - 클래스를 만드는 경우

    1. 인터페이스를 구현하는 클래스를 하나 만들어서
    2. Abstract method를 Override하여 사용.
    • anonymous inner class 작성하여 사용.
  • functional interface만 적용가능.

    • Abstract method를 하나만 가지고 있는 interface
    • interface 위에 @Functionalinterface를 선언 할 수 있다.
  • 사용법

    ( 매개변수 ) -> { 구현 코드 };
    • 예 )
      @FunctionalInterface
      public interface Test{
      		public void temp( int i );
      }//
    • 사용 )
      인터페이스명 객체명 = ( 매개변수 ) -> { 구현코드 ,,,, };
      Test t = (int i)-> { 코드 }; 
      //public void temp( int i ) -> (int i) => 짧아짐(public void temp 생략)
    • 호출 )
      t.추상method명();
      t.temp( 10 );

  - 매개변수 없고 , 반환형 없는 method
public void test();
- 구현 )
인터페이스명 객체명 = () -> { 코드 };
- 호출 )
객체명.method명();

  - 매개변수 없고 , 반환형 있는 method 
public 데이터형 test();
- 구현 )
인터페이스명 객체명 = () -> { 코드 return};
- 호출 )
데이터명 변수명 = 객체명.method명();

  - 매개변수 있고 , 반환형 없는 method
public void test(String s,int i);
- 구현 )
인터페이스명 객체명 = (String s, int i) -> { 코드 };
- 호출 )
객체명.method명(String s값, int i값);

  - 매개변수 있고 , 반환형 있는 method
public 데이터형 test(String s,int i);
- 구현 )
인터페이스명 객체명 = (String s, int i) -> { 코드 return};
- 호출 )
데이터형 변수명 = 객체명.method명(String, int);

0개의 댓글