자바의 제네릭 (Generic)

오늘은 자바의 제네릭과 관련해서 글을 써내려가려 한다. 자바의 제네릭은 어렵다. 필자가 생각하기엔 자바에서 가장 어려운 문법? 부분에 속한다고 할 수 있다. 누군가가 자바에서 가장 어려운게 무엇이냐고 물어보면 1초도 망설이지 않고 제네릭이라고 대답했을 것이다. 그만큼 나에겐 어렵다. 자바의 제네릭을 아주 자유자재로 사용할 수 있는 개발자는 많지 않을 것이라고 생각한다. (내가 못해서 그렇게 생각할지도..) 자바의 Generic은 처음 나왔을 때 부터 있었던 것은 아니다. 1996년에 자바가 처음 발표되고 8년이 지난 2004년에 java5가 발표되면서.. Read More

미리보는 java9

오늘은 미리보는 java9의 새로운 기능들을 살펴보자. 물론 지금은 릴리즈전이라 바뀔 내용이 있을 수 있으니 너무 깊게는 살펴보지 말자. 조만간 java9가 릴리즈 될 예정이다. 원래 일정은 올해 초에 릴리즈 될거라고 했었는데 일정이 밀렸다. 왜 밀린지는 모르겠지만.. 아무튼 담달 27일인 7월27일에 다시 릴리즈 예정일이다. 역시 또 밀릴지는 의문이다. (수정) 또 다시 딜레이 되었다고 한다. 릴리즈 일정은 아래와 같다. 2017/07/06 Final Release Candidate 2017/09/21 General Availability 그전에 안타까운 소식이 하나 있다. java7부터 언급이.. Read More

Java의 HashMap

오늘은 java의 hashMap에 대해서 알아보자. java에서 자주 사용되는 HashMap은 아주 오래전부터 있던 API이다. 자바8까지 오면서 많은 변화가 있었겠지만 필자는 java8 기준으로 살펴보도록 한다. 참고로 이 글은 http://d2.naver.com/helloworld/831311 참고하면서 정리하는 의미로 남기는 것이다. 수학적인 의미 map map (mapping)은 원래 수학 함수에서 대응 관계를 지칭하는 용어이다. HashMap은 키 집합인 정의역과 값 집합인 공역의 대응에 해시 함수를 이용한다. 위의 링크의 (그림 1) HashMap과 Hashcode HashMap은 빠르다. 내부적으로 배열은 사용해 빠른 속도를 지니고 있다… Read More