인사이트에서 이병준 님의 번역으로 새롭게 선보인 『이펙티브 자바 2판』!
‘실질적이고 권위 있는 지침이 담긴 책’, ‘고전의 반열에 오른 책’ 등등 최고의 수식이 붙는 책으로, 자바를 사용하시는 많은 개발자 분들이 이 책을 통해 통찰을 얻으셨을거라 생각합니다. 원서가 발간된 지 6년이란 시간이 흘렀고 다른 출판사에서 이미 번역해 출간했던 책이지만, 여전히 유효한 지침과 조언이 담겨 있어 그 가치를 전달하고자 전면적으로 재번역해 선보입니다.
책에 쏟아진 추천의 글을 통해 ‘이펙티브 자바’가 얼마나 실용적인 지침으로 가득한 책인지 느껴 보세요^^
“이 책을 십 년 전에 알았더라면 분명 좋았을 것이다. 나라면 자바 책은 필요로 하지 않을 거라고 생각하는 이들도 있겠지만, 이 책만큼은 다르다.”
– 제임스 고슬링
“개선된 자바 플랫폼 API(Collections API 포함) 일부를 설계한 바로 그 사람이 내놓은, 진정 훌륭한 책.”
– 제임스 클라크
“10점 만점에 10점 – 다른 사람들이 읽고 관리하기에 훌륭한 자바 코드를 만들고 싶은 사람이라면 반드시 이 책을 가지고 있어야 한다. JDK 라이브러리가 진화하더라도 빛바래지 않을 정보가 담겨 있는 드문 책 가운데 하나다.”
– 피터 트란
“현존하는 최고의 자바 서적. 술술 읽힐 뿐 아니라 아주 유용하다. 말로는 칭찬을 다 할 수 없을 정도다. JavaOne 2001 컨퍼런스에서 제임스 고슬링은 말했다. ‘얼른 가서 구매하세요!’ 그 충고를 따랐던 것이 기쁘다. 그의 생각에 100% 동의한다.”
– 키이스 에드워즈
“내가 따져본 바에 따르면, 매년 출간되는 좋은 프로그래밍 서적의 수는 한 권 이하이고, 몇 년 간 한 권도 나오지 않을 때도 있다. 커누스(Knuth) 교수의 삼부작(trilogy), K&R의 ‘White Book’, 커니건(Kernighan)과 플로저(Plauger)의 『Software Tools』 같은 책을 말하는 것이다. 이 책은 그 반열에 드는 책이다. 구입하라.”
– 앤드류 빈스톡
“자바 설계자에게는 이 책의 모든 부분이 중요하다. 제품을 납품하기 전에 이 책을 읽으면, 그 비용을 천 배로 보상받게 될 것이다.”
– 리처드 마테오션
“이 책을 구입한 것은 2주 전인데, 삼 개월 공부했을 때보다 더 많은 것을 사흘 만에 배우게 되었다. 놀라운 책이며, 내 자바 서재에 추가할 수 있어서 기쁘다.”
– 제인 그리스티
번역은 제2의 창작이라고도 할 수 있습니다. 역자가 달라지면서 어쩌면 전혀 다른 책이라고 볼 수 있는 『이펙티브 자바 2판』. 번역에서 무엇이 달라졌는지 그 차이를 느끼실 수 있도록 본문에서 임의의 페이지들을 발췌해 비교했습니다. 🙂
(대웅)
304쪽 / 항목 50 다른 타입을 쓸 수 있는 곳에서는 String 사용을 피하자
String(문자열을 나타내는 클래스)은 텍스트를 나타내기 위해 설계되었으며, 자신의 역할을 잘 하고 있다. String은 공통적으로 많이 사용하고 있고 언어에서도 잘 지원하다. 그러나 본래의 설계 취지와는 다른 목적으로 사용하는 경향이 있다. 이 항목에서는 String으로 해서는 안 되는 것을 몇 가지 거론한다.
String으로 다른 값(value) 타입을 대체하는 것은 좋지 않다. 파일, 네트웍, 키보드 입력으로부터 데이터가 프로그램으로 전달될 때 문자열 형식인 경우가 많으며, 그것을 그대로 놔두려는 경향이 있다(적합한 타입으로 바꾸지 않고). 그러나 그것을 실제로 데이터가 원문 그대로일 때만 옳다. 만일 데이터가 숫자라면 int, float, BigInteger와 같이 적합한 숫자 타입으로 변환되어야 한다. 그리고 데이터가 예-아니오 형태의 질문에 대한 답이라면, boolean 타입으로 변환되어야 한다. 더 일반적으로 말해서, 만일 기본형이나 객체 참조 중 어느 것이건 적합한 값 타입이 있다면, 그것을 사용해야 한다. 그러나 만일 없다면 우리가 작성해야 한다. 당연한 얘기라고 여기겠지만 위배되는 경우가 많다.
(인사이트)
301쪽 / 규칙 50 다른 자료형이 적절하다면 문자열 사용은 피하라
문자열은 텍스트 표현과 처리에 걸맞도록 설계되었다. 그런데 문자열은 워낙 흔한 데다 자바의 문자열 지원도 아주 훌륭하기 때문에 원래 설계된 목적 이외의 용도로도 많이 활용되는 경향이 있다. 이번 절에서는 여러분이 문자열로 해서는 안 되는 일들을 짚어본다.
문자열은 값 자료형(value type)을 대신하기에는 부족하다. 데이터가 파일이나 네트워크나 키보드를 통해서 들어올 때는 보통 문자열 형태다. 그러니 그대로 두려는 경향이 있다. 하지만 데이터가 원래 텍스트 형태일 때나 그렇게 하는 것이 좋다. 숫자라면 int나 float, BigInteger 같은 수 자료형(numeric type)으로 변환해야 한다. 예 아니오를 묻는 질문의 답이라면 boolean으로 변환해야 한다. 일반적으로 말하자면, 적절한 값 자료형이 있다면 그것이 기본 자료형이건 아니면 객체 자료형이건 상관없이 해당 자료형을 사용해야 한다는 것. 적당한 자료형이 없다면 새로 만들어야 한다. 당연해 보이는 지침인데 지켜지지 않는 일이 많다.
더 많은 내용은 PDF를 통해 보실 수 있습니다.
* 인터넷 판매처
혹시 이북 발간계획은 없나요? 항상 들고다니며 틈틈히 볼만한 책인데 ㅎㅎ
좋아요좋아요
안녕하세요, everclear님!
이 책은 아쉽게도 전자책 발간 계획이 없습니다.
좋아요좋아요