9/4

벌써 9월 이다 7월 22일에 시작해서 언제 수업 다 듣나 했는데 벌써 1달이 지나고 2개월차 수업도 1/3 이 지나가고 있다.

끝까지 열심히 해서 취업하도록 노력하자.


익명객체 

익명 객체는 클래스를 상속하거나 인터페이스를 구현해야만 생성할 수있다.

 

익명 자식 객체/ 익명 구현 객체 (부모 클래스 자리에 인터페이스가 오는것)

익명 자식 객체는 부모 클래스를 상속 받는것은 기존과 같지만 생성하는 방법은 아래와 같다.

부모 생성자를 호출 하고 자식클래스를 만드는데 자식의 이름은 없지만 자식클래스의
객체(필드, 메소드)로 만들겠다고 하는것

부모 클래스의 인스턴스 생성후 바로 { } 중괄호 사용하여 생성
부모 클래스 생성
익명을 이용하면 추상클래스도 바로 인스턴스 생성을 가능케 함
인터페이스 역시 추상클래스처럼 익명 을 사용하면 바로 인스턴스 생성이 가능케함

익명 구현객체가 들어 갈 수 있는곳 

  • 필드의 초기값
  • 변수의 초기값
  • 매개변수의 변수값

익명 객체를 사용하는이유 -> 명시적으로 클래스를 선언하기 귀찮고 간단하게 구현 객체를 사용하여 쓰고 싶을때 
사용 한다.

 


람다식

1급함수 -> 함수를 다른 변수처럼 사용 가능하면 그것을 1급 함수 라고 한다.

1급함수 처럼 사용할 수 있는게 람다 하지만 람다는 1급 함수가 아니다

 

데이터는 갖고 있지만 함수는 외부에서 받아와서 데이터를 처리 하는 방식을
함수형 프로그래밍 이라고 합니다.

 

함수와 메소드 차이

함수 -> 객체와는 상관없이 실행 가능한 코드의 묶음(실행 코드 블럭)

메소드 -> 반드시 객체 안에 있고 객체의 기능을 정의 하는것 (클래스, 오브젝트 로 항상 감싸져 있어야한다.)

 

람다식 : (매개변수, ... ) -> { 처리 내용 }

 

자바에서 람다식도 클래스로 인식 합니다. (람다식을 익명 구현 객체로 변환하여)

 

 


 


※ 인터페이스의 익명 구현 객체가 람다식을 표현 하려면 인터페이스는
단 하나의 추상 메소드만 갖고 있어야 한다.

※ 인터페이스가 단 하나의 추상메소드르 가질때 이른 함수형 인터페이스 라고 한다.

 

추상 메소드가 하나인 인터페이스 : Functional Interface  ▼

추상 메소드가 파라미터가 하나인 인터페이스 ▼


리턴 타입의 존재


람다식으로 줄인 코드를 더 줄이기 -> 메소드 참조 방식

 

 

오늘 수업은 간단하면서도 너무 어렵다 람다식 초입 까지는 이해가 가는듯 했는데 파라미터랑 리턴 값이 들어가고 

나서부터는 이해하기 좀 어려워 지는거 같아 오늘은 좀 남아서 람다부분을 복습해볼 예정이다.

+ Recent posts