2025/04/17 4

14. Lambda & Functional Interface

람다식 (Lambda Expression): 함수를 하나의 식으로 표현한 것- 함수를 람다식으로 표현하면 메소드의 이름이 필요없기 때문에 람다식은 익명함수의 한 종류라고 볼 수 있음- 기존 함수와는 다르게 메소드 명이 필요하지 않으며, 괄호()와 화살표 ->를 이용해 함수를 선언함- 불필요한 코드를 줄이고, 가독성을 높이기 위해 등장- 함수형 인터페이스의 인스턴스를 생성하여 함수를 변수처럼 선언하는 람다식에서는 메소드의 이름이 불필요하다고 여겨져 사용하지 않음-> 컴파일러가 문맥을 살펴 타입을 추론함 1. 람다식 특징람다식 내에서 사용되는 지역변수는 final이 붙지 않아도 상수로 간주람다식으로 선언된 변수명은 다른 변수명과 중복될 수 없음2. 람다식의 장점코드를 간결하게 만들 수 있음식에 개발자의 의도..

JAVA 2025.04.17

13. 자바 8의 특징

1. 람다 표현식(Lambda Expression): 메서드로 전달될 수 있는 익명 함수를 단순한 문법으로 표기한 것 2. 함수형 인터페이스(Functional Interface): 추상 메서드가 오직 하나인 인터페이스-> 단일 추상 메서드를 가지는 인터페이스- 여러 개의 Default 메소드와 Static 메소드가 있어도 함수형 인터페이스로 취급@FunctionalInterfacepublic interface Math { public int Callc(int first, int secont);}public class Main { public static void main(String[] args) { Math plusLambda = ((first, secont) -> first ..

JAVA 2025.04.17

12. 비동기처리 문법 비교

동기 & 비동기- 동기(sync): A라는 작업이 끝나는 동시에 B라는 작업을 시작 - 비동기(async): A라는 작업의 완료 여부와 상관없이 B라는 작업을 시작함비동기 방식은 작업들이 서로의 작업 시작 및 종료 시간에 영향을 받지 않고, 별도의 작업 시작 / 종료 시간을 가짐모든 비동기 방식은 멀티 스레드에서 작동작업의 순서를 보장할 수 없게 됨자바에서 비동기를 처리하는 방법1. Callback: 다른 주체에게 맡긴 작업이 끝나면 다른 주체 쪽에서 본 주체가 전해준 콜백 함수를 실행하는 방법- 애플리케이션이 스레드에게 작업 처리를 요청한 후, 스레드가 작업을 완료하면 특정 메소드를 자동 실행하는 기법 cf) 블로킹 방식 vs 콜백 방식▶ 블로킹 방식: 작업 처리를 요청한 후, 작업이 완료될 때까지 블..

JAVA 2025.04.17

11. Error & Exception 2

Throwable- 예외와 관련된 최상위 클래스- 대부분 직접적으로 이 클래스를 사용하기보다는 이를 상속받은 Exception이나 Error가 주로 사용됨- Error는 예외 처리의 대상으로 보지 않기에 제외하면 나머지 Exception 클래스와 그 하위 클래스가 주요 처리 대상임- 예외가 연결될 때(Chained Exception) 연결된 예외의 정보들을 기록하기도 함- 이 Throwable 객체가 지닌 정보와 할 수 있는 행위는 getMessage(), printStackTrace()라는 메소드로 구현getMessage() : 발생한 예외에 대한 구체적인 메시지를 반환하므로 간단히 예외에 관한 내용을 확인할 때 사용printStackTrace() : 예외에 대한 자세한 디버깅을 위해 주로 사용되는 메..

JAVA 2025.04.17