Java 제네릭과 가변성(variance) 2편

1편을 쓰느라 진을 너무 많이 뺐다. 사실 이 블로그를 쓰는 이유는 공부하고 까먹고 다시 공부하는 게 싫어서인데 쓰다보면 욕심이 생겨서 다른 자료들도 찾아보고, 예제 코드도 스스로 만들어 보게 된다. 이런 노력이 미래의 내가(그리고 우연히 이곳을 들른 여러분들이?!) 정리한 내용을 이해하는 데 도움이 되었으면 좋겠다. 이번 글에서는 카이 호스트만의 코어 자바8의 내용과 상관없이 1편에서 다뤘던 가변성에 대한 내용을 조금만 더 정리하려 한다.

Continue Reading →

Java 제네릭과 가변성(variance) 1편

카이 호스트만의 코어 자바8 책으로 공부를 계속하고 있다. 게으른 탓인지 진도가 정말 느리다. 간만에 배운 내용을 정리하고자 했는데 직전에 쓴 글이 한 달 전이라니… 너무 부끄럽다. 가끔 yes24에서 서평들을 보면 일주일 만에 기술 책 한권을 독파하고 소감을 쓰시는 분들도 계신데, 이런 분들을 보면 부럽기도 하고 존경스럽다. 여하튼 이번 주제는 Java의 제네릭과 가변성(variance)이다. 제네릭을 자주 사용하면서도 자바 제네릭의 타입 경계, 와일드 카드, 타입 소거 같은 특징들에 대해서는 잘 알지 못했다. 가변성은 볼 때마다 헷갈리는 개념이다. 이번 포스팅을 통해 이런 개념들을 정리해보려고 한다.

Continue Reading →

Java 8 - Interface의 변화

요즘 카이 호스트만의 코어 자바8로 Java 8을 공부하고 있다. 작년 초에 개발자로 전향하여 Java 8의 stream 같은 것을 매우 신기해하며 어깨너머로 배워 사용했었는데 알고보니 Java 8이 처음 출시된 것은 2014년 3월 18일이었다.(Java 릴리스 페이지 참고) 지금은 Java 9가 나오려고 몸을 들썩이는 중이다. Java 8을 제대로 공부도 해보지 않았는데 벌써 Java 9가 나온다고 하니 젊은 나이에 뒤처지는 것 같은 기분이 들었다. 이런 까닭에 황급히 서점에서 책을 사서 공부하는 중이다. 원저의 제목 Core Java for the Impatient가 내 상황에 잘 들어맞는 것 같다. 더 늦기 전에 Java 8을 공부하면서 중요하다고 생각하는 것들을 정리해보려고 한다.

Continue Reading →