본문 바로가기

강의 내용 정리/JAVA 기초 정리

5-2강 함수형 프로그래밍의 이해

# 함수형 프로그래밍

 

두번째 코드가 선언형 프로그래밍 ( 유지보수에 유리함 )

함수의 3가지 조건 : 순수 함수, 일급 객체, 영속의 자료구조(원본 변경X)

 

 

 

# 중첩클래스

클래스 안 클래스를 정의 하는 법

1. 클래스 안에 static 클래스로 정의

2. 클래스 안에 멤버클래스로 정의

3. 클래스 안에 로컬클래스로 정의

4. 클래스 안에 익명클래스로 정의

 

 

1) 멤버 클래스

inner 클래스를 outer클래스의 필드, 메서드 선언하는 레벨에서 선언한 클래스

 

 

 

2) 로컬 클래스

outer클래스의 메서드 안에 선언한 클래스 ( 해당 메서드가 호출되어야 클래스가 의미가 있음 ) 

 

 

3) 익명 클래스

로컬 클래스와 같이 메서드 안의 클래스인데 이름을 갖지 않는 클래스

SearchFilter라는 인터페이스를 파라미터로 보냄

익명클래스가 없다면 SearchFilter 인터페이스를 구현한 클래스를 만든 후 써야함 -> 검색조건에 따라 클래스를 만들어서 써야함 But 우리는 검색 순간에 정의해서 씀

 

위 코드를 람다로 변환

 

익명클래스 + 람다 = 검색조건을 순간적으로 정의 할 수 있고 CustomerService의 메서드를 수정할 필요가 없음.

 

CustomerService 클래스

 

 

 

 

 

 

 

 자료를 참고하였습니다.

 

 

꾸준히 다시보자.

 

1. 220725

2. 220814

3. 220910

Recent Posts
Popular Posts
Recent Comments