Today I Learned
(24.04.09) Java의 정석 학습(람다, 함수형 인터페이스, 메서드 참조)
오늘 해야할 일이 산더미인데 + 내일 약속을 잡자는 연락 처리
이런것들이 정신을 혼미하게 만든 하루라 집중력이 살짝 흐트려졌지만
그럴 때 일 수록 한번 커피를 계속 때려서 집중을 시켰다
하루에 3잔 이상을 마시게 되는데 커피 말고 다른 방법을 찾는 것도 나쁘지 않을듯
화장실을 너무 자주가게되어 학습 맥이 끊긴다..
팀 미니 프로젝트도 이제 끝나가는데
다른 팀을 보니 git을 벌써 잘 활용을 하는 것으로 보이는듯 해서
이번주 목표에 git 활용 공부를 좀 추가를 해야할 듯 싶다.
Slack으로 서로 공유하고 하는 것은 별로 효율적이지 못한듯 싶다.
Java의 정석 학습 간단 정리
람다식 Lambda expression를 쓰는 의의는 불필요한 코드를 쓰는 걸 방지하고 간략하는데 있는 것으로 생각된다.따라서 람다식의 작성 방법외에도 람다식이 함수형이므로 java.util.function 패키지의 함수형 인터페이스들과 함께 사용하는 방법과 메서드 참조를 통해서 코드의 분량이 극적으로 짧아진다는 걸 볼 수 있었다.인터페이스의 다형성과 같이 생략시키는 부분이 너무 많아선 어떤 코드의 맥락을 찾아가는데 좀 힘이 들었다..람다식 반환 타입이 무조건적으로 기본형과 관련이 있을 거라는 편협적인 생각을 해버려 좀 헤매 시간을 많이 잡아먹은 듯 했다.예제를 많이 볼 수 있도록..
더보기
람다식 Lambda expression
- 메서드를 하나의 식 expression 으로 표현할 수 있게 한 것
- 메서드의 역할 대체 → 메서드를 변수처럼 다룰 수 있게
- 보다 간결, 쉽게 이해를 가능
- 메서드의 결과로도 반환이 바로 가능
- 매개변수 전달 가능
람다식 작성하기
함수형 인터페이스 Functional Interface
람다식 타입 & 형변환
- 인터페이스로 형변환
- 다른 타입으로 형변환
외부변수 참조 람다식
java.util.function패키지
- 기본 함수형 인터페이스
- 매개변수가 2개인 함수형 인터페이스
- 매개변수 타입 = 반환타입 함수형 인터페이스
- 컬렉션 프레임웍 & 함수형 인터페이스
- 기본형 사용 함수형 인터페이스
Function 합성 & Predicate 결합
- andThen() & compose()
- identity()
- and() or() negate()
- isEqual()
메서드 참조 method reference
- 메서드를 참조해서 람다식을 더 짧게 쓸 수 있는 것
생성자 메서드 참조
- 람다식이 생성자를 호출해서 사용할 경우 위의 메서드 이름 대신 new 를 넣는 방식
- 생성자 매개변수의 갯수에 따라서 당연히 함수형 인터페이스를 바꿔서 사용해야
내일은 투표날이라 공식적인 캠프 스케쥴은 없지만
그래도 특이한 스케쥴이 없는한
학습은 계속 이어서 해야할듯!
'Today I Learned' 카테고리의 다른 글
(24.04.11) Java의 정석 학습(스트림(중간연산,최종연산 / Optional / Collector) ) (0) | 2024.04.11 |
---|---|
(24.04.10) Java의 정석 학습(스트림(스트림 생성, 중간연산) ) (1) | 2024.04.10 |
(24.04.08) Java의 정석 학습(열거형 / 애너테이션) (0) | 2024.04.08 |
(24.04.05) Java의 정석 학습(컬렉션 프레임웍 Collections Framework) (0) | 2024.04.05 |
(24.04.04) Java의 정석 학습(java.lang패키지와 유용한 클라스, Collections Framework (0) | 2024.04.04 |