본문 바로가기

공부28

231026 자바의정석 (람다식, 함수형 인터페이스, java.util.function, 스트림, 메서드참조 ) Ch14 1~4 [람다식, 람다식 작성하기] 람다식 - 함수(메서드)를 간단한 식으로 표현하는 방법 - 익명 함수 (이름이 없는 함수) - 함수와 메서드의 차이 근본적으로 동일. 함수는 일반적 용어. 메서드는 객체지향개념 용어 함수는 클래스에 독립적, 메서드는 클래스에 종속적 람다식 작성하기 1. 메서드의 이름과 반환타입을 제거하고 ->를 블룩{}앞에 추가한다. 2. 반환값이 있는 경우, 식이나 값만 적고 return문 생략가능 (끝에 ; 안 붙임) 3. 매개변수의 타입이 추론 가능하면 생략가능 (대부분의 경우 생략가능) 람다식 작성시, 주의사항 1. 매개변수가 하나인 경우, 괄호 () 생략가능 (타입이 없을 때만) 2. 블록 안의 문장이 하나뿐 일 때, 괄호 {} 생략 가능 (끝에 ; 안 붙임) 단, .. 2023. 10. 26.
231025 자바의정석 (쓰레드) Ch-13 1~2 [쓰레드] 프로세스와 쓰레드 - 프로세스: 실행 중인 프로그램, 자원과 쓰레드로 구성 (자원: 메모리, cpu…) - 쓰레드: 프로세스 내에서 실제 작업을 수행. 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다. 프로세스 : 쓰레드 = 공장 : 일꾼 - 싱글 쓰레드 프로세스 = 자원 + 쓰레드 - 멀티 쓰레드 프로세스 = 자원 + 쓰레드 + 쓰레드 + … + 쓰레드 - “하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다.” 멀티쓰레드의 장단점 - 대부분의 프로그램이 멀티쓰레드로 작성되어 있다. 장점 - 시스템 자원을 보다 효율적으로 사용할 수 있다. - 사용자에 대한 응답성이 향상된다. - 작업이 분리되어 코드가 간결해 진다. => .. 2023. 10. 25.
231024 자바의정석 (애너테이션 타입 정의, 요소) Ch-12 34~37 [애너테이션 타입 정의하기, 애너테이션의 요소] 애너테이션 타입 정의하기 - 애너테이션을 직접 만들어 쓸 수 있따. @interface 애너테이션이름 { 타입 요소이름(); // 애너테이션 요소를 선언한다. … } - 애너테이션의 메서드는 추상메서드이며, 애너테이션을 적용할 때 지정(순서x) 애너테이션의 요소 - 적용시 값을 지정하지 않으면, 사요될 수 있는 기본값 지정 가능(null제외) - 요소가 하나이고 이름이 Value일 때는 요소의 이름 생략 가능 - 요소의 타입이 배열인 경우, 괄호{}를 사용해야 한다. 모든 애너테이션의 조상 - java.lang.annotation.Annotation - Annotation은 모든 애너테이션의 조상이지만 상속은 불가 - 사실 Annota.. 2023. 10. 24.