나누고 싶은 개발 이야기

Data Engineer로서 기록하고 공유하고 싶은 기술들. 책과 함께 이야기합니다.

Language/Java 14

[Java8] CompletableFuture 정리

기존 Future 인터페이스는 비동기 계산의 결과로 제공하기 위해 Java5에서 추가되었지만, 이런 계산들을 결합하거나 오류를 처리할 방법이 없었다. 그래서 Java 8에서 CompletableFuture가 추가되었다. CompletableFuture은 Future 뿐만 아니라 CompletionStage도 상속하는데, CompletionStage의 특징을 살펴보면 CompletableFuture의 장점을 알 수 있다. CompletionStage는 결국은 계산이 완료될 것이라는 의미의 약속이다.계산의 완료는 단일 단계의 완료 뿐만 아니라 다른 여러 단계 혹은 다른 여러 단계 중의 하나로 이어질 수 있음도 포함한다. 뿐만 아니라 각 단계에서 발생한 에러를 관리하고 전달할 수 있다. 지금부터 Complet..

Language/Java 2017.08.09

이름 재사용과 관련된 기술

자바 퍼즐러를 읽는 중에 이름 재사용과 관련되어 개념을 명확히 하지 않으면 버그가 나올 가능성이 많아 정리를 해보았다.(물론 책에 나온 내용을 정리하는 수준이다) 오버라이딩자식 클래스에 있는 인스턴스 메서드가 부모 클래스의 접근 가능한 메서드와 동일한 이름과 매개변수를 가지면 오버라이딩 합니다.오버라이딩되면 동적 디스패치가 가능해집니다. 여기서 동적 디스패치란 무엇인가? 동적 디스패치는 동적바인딩과 동일한 개념이다.동적 바인딩 설명 가상머신은 실행 중에 인스턴스의 자료형에 기반해서 호출할 메서드를 결정한다.class Base { public void f() { }} class Derived extends Base { public void f() { }} 하이딩부모 클래스의 필드, 정적 메서드, 클래스, ..

Language/Java 2016.10.13
반응형