2024/07/23 4

[모던 자바 인 액션] 람다 표현식

람다란 무엇인가?람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다표현 식에는 이름은 없지만, 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트는 가질 수 있다.  익명보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드에 대한 걱정거리가 줄어든다.함수람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다.전달람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있다.간결성익명 클래스처럼 많은 자질구레한 코드를 구현할 필요가 없다. // 기존 코드Comparator byWeight = new Comparator() { public..

Language Study/Java 2024.07.23

[모던 자바 인 액션] 동작 파라미터화 코드 전달하기

동작 파라미터화란 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다.  동작 파라미터화를 이용하면 자주 바뀌는 요구사항에 대해 효과적으로 대응할 수 있는데, 코드블럭의 실행은 나중으로 미뤄진다. 나중에 실행될 메서드의 인수로 코드 블록을 전달할 수 있고, 결과적으로 코드 블럭에 따라 메서드의 동작이 파라미터화된다.리스트의 모든 요소에 대해서 '어떤 동작'을 수행할 수 있음리스트 관련 작업을 끝낸 다음에 '어떤 다른 동작'을 수행할 수 있음에러가 발생하면 '정해진 어떤 다른 동작'을 수행할 수 있음동작 파라미터로 위와 같은 기능들을 구현할 수 있다.  프레디케이트를 활용하여 선택 조건을 결정하는 인터페이스를 아래와같이 정의할 수 있다.위 조건에 따라 filter 메서드가 다르게 동작할 것이라..

Language Study/Java 2024.07.23

[모던 자바 인 액션] 자바 8,9,10,11: 무슨 일이 일어나고 있는가?

자바가 거듭 변화하는 이유컴퓨팅 환경의 변화자바에 부여되는 시대적 변화 요구자바 8과 자바 9의 새로운 핵심 기능 소개 역사의 흐름은 무엇인가? 자바 역사를 통틀어 가장 큰 변화가 Java 8 에서 일어났다. 물론 이후의 버전에서도 큰 변화가 있었으나, 자바 8만큼 획기적이거나 생산성이 바뀌는 것은 아닐 것이다.  멀티코어 CPU 대중화 같은 하드웨어적인 변화도 영향을 미쳤다. 자바 8 등장 이전에는 스레드를 사용하는 것이 좋다고 그랬겠지만, 자바는 병렬 실행 환경을 쉽게 관리하고 에러가 덜 발생하는 방향으로 진화하려고 노력했다. 이전까지는 스레드 풀이나 병렬 실행 컬렉션, 포크/조인 프레임워크를 제공했으나, 쉽지 않았다고 한다.  🍃자바 8에서 새롭게 지원한 기술들스트림 API메서드를 코드에 전달하는..

Language Study/Java 2024.07.23

나도 모르는 사이에 카테캠 제적 위기에 놓이다

카테캠 출석 체크 최근 굉장히 충격적인 일이 있었습니다. 지난주에 너무 바빴던 나머지 매번 카테캠 학습 툴에 들어가서 출석체크를 했지만 저도 모르는 사이에 결석이 무려 6개나 찍혀있었답니다!!... 제가 마침 지난주 금요일은 건강상에 이슈로 못들어가게 되어서 결석이라 해서 "어 그렇구나~" 하고 있었는데 아니 무슨 결석이.... 지난주 월화목금 걸려있는거에요!!! 아아ㅏ앙아아악  경단 프로젝트 배포한다고 너무 정신이 없었습니다.... 대회 마감일이 코앞이라 아무것도 보이지 않아 미친듯이 개발한다고 ㅠㅠㅠ 차마 카테캠 접속해서 상주하면서 다른 멘토님이 캠 확인을 하는 것을 못했답니다..!! 출석 기록도 찍혀있는데... 캠도 켰는데 아마 네트워크 오류로 잠시 꺼진것 같더라고요! 이 사이에 검사하러 오셨다가 ..