장바구니 담기 close

장바구니에 상품을 담았습니다.

코틀린 아카데미 이펙티브 코틀린 (개정판)

코틀린 아카데미 이펙티브 코틀린 (개정판)

  • 마르친 모스카와
  • |
  • 인사이트
  • |
  • 2025-06-09 출간
  • |
  • 448페이지
  • |
  • 172 X 225 X 2166mm
  • |
  • ISBN 9788966264612
판매가

33,000원

즉시할인가

29,700

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
29,700

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

새로 추가된 아이템
•아이템 2: 임계 영역을 제거하라
•아이템 35: 의존성 주입을 고려하라
•아이템 48: 객체 선언 사용을 고려하라
•아이템 49: 가능하면 캐싱을 사용하라
•아이템 50: 재사용 가능한 객체를 추출하라
•아이템 55: 요소들을 맵으로 묶는 것을 고려하라
•아이템 56: groupBy 대신 groupingBy 사용을 고려하라
•아이템 60: 적절한 컬렉션 타입을 사용하라

대상 독자
이 책은 코틀린으로 개발하는 데 필요한 충분한 지식과 기술을 갖추고 있는 코틀린 개발자를 대상으로 합니다. 다만 숙련된 개발자라도 일부 기능은 모를 수 있다고 가정하고 프로퍼티, 플랫폼 타입, 이름 있는 인수, 도메인 특화 언어(Domain-Specific Language,) 생성, 인라인 클래스와 인라인 함수 등은 설명합니다.

소스코드 다운로드
본문에 소개된 모든 소스코드는 다음 깃허브 저장소에서 볼 수 있습니다.
https://github.com/MarcinMoskala/effectivekotlin_sources

목차

1부 좋은 코드

1장 안전성
아이템 1 가변성을 제한하라
아이템 2 임계 영역을 제거하라
아이템 3 가능한 한 빨리 플랫폼 타입을 제거하라
아이템 4 변수의 스코프를 최소화하라
아이템 5 인수와 상태에 대한 기대치를 명시하라
아이템 6 사용자 정의 오류보다 표준 오류를 선호하라
아이템 7 결과가 없을 가능성이 있는 경우 널 가능 또는 Result 반환 타입을 선호하라
아이템 8 use를 사용하여 리소스를 닫아라
아이템 9 단위 테스트를 작성하라

2장 가독성
아이템 10 가독성을 목표로 설계하라
아이템 11 연산자의 의미는 함수의 이름과 일치해야 한다
아이템 12 가독성을 높이려면 연산자를 사용하라
아이템 13 타입 명시를 고려하라
아이템 14 리시버를 명시적으로 참조하라
아이템 15 프로퍼티는 동작이 아닌 상태를 나타내야 한다
아이템 16 Unit?을 반환이나 연산에 사용하지 말라
아이템 17 이름 있는 인수 사용을 고려하라
아이템 18 코딩 컨벤션을 준수하라

2부 코드 설계

3장 재사용성
아이템 19 knowledge를 반복하지 말라
아이템 20 일반적인 알고리즘을 반복하지 말라
아이템 21 일반적인 알고리즘을 구현할 때 제네릭을 사용하라
아이템 22 타입 매개변수의 섀도잉을 피하라
아이템 23 제네릭 타입에 대한 변성 한정자 사용을 고려하라
아이템 24 공통 모듈을 추출해서 여러 플랫폼에서 재사용하라

4장 추상화 설계
아이템 25 각각의 함수는 하나의 추상화 수준으로 작성하라
아이템 26 변경으로부터 코드를 보호하려면 추상화를 사용하라
아이템 27 API 안정성을 명시하라
아이템 28 외부 API를 래핑하는 것을 고려하라
아이템 29 가시성을 최소화하라
아이템 30 문서로 규약을 정의하라
아이템 31 추상화 규약을 준수하라

5장 객체 생성
아이템 32 보조 생성자 대신 팩토리 함수를 고려하라
아이템 33 이름 있는 선택적 인수를 갖는 기본 생성자 사용을 고려하라
아이템 34 복잡한 객체 생성을 위해 DSL 정의를 고려하라
아이템 35 의존성 주입을 고려하라

6장 클래스 설계
아이템 36 상속보다 합성을 선호하라
아이템 37 데이터 묶음을 표현할 때 data 한정자를 사용하라
아이템 38 연산과 행동을 전달하려면 함수 타입이나 함수형 인터페이스를 사용하라
아이템 39 제한된 계층구조를 표현하기 위해 sealed 클래스와 sealed 인터페이스를 사용하라
아이템 40 태그 클래스 대신 클래스 계층구조를 선호하라
아이템 41 열거형 클래스를 사용해서 값 목록을 나타내라
아이템 42 equals의 규약을 준수하라
아이템 43 hashCode의 규약을 준수하라
아이템 44 compareTo의 규약을 준수하라
아이템 45 API의 필수적이지 않은 부분을 확장으로 추출하는 것을 고려하라
아이템 46 멤버 확장 함수를 피하라

3부 효율성

7장 비용 줄이기
아이템 47 불필요한 객체 생성을 피하라
아이템 48 객체 선언 사용을 고려하라
아이템 49 가능하면 캐싱을 사용하라
아이템 50 재사용 가능한 객체를 추출하라
아이템 51 함수형 타입 매개변수를 갖는 함수에 inline 한정자를 사용하라
아이템 52 인라인 값 클래스 사용을 고려하라
아이템 53 더 이상 사용하지 않는 객체 참조를 삭제하라

8장 효율적인 컬렉션 처리
아이템 54 처리 단계가 둘 이상인 대규모 컬렉션의 경우 시퀀스를 선호하라
아이템 55 요소들을 맵으로 묶는 것을 고려하라
아이템 56 groupBy 대신 groupingBy 사용을 고려하라
아이템 57 연산 횟수를 제한하라
아이템 58 성능이 중요한 작업에서는 원시형 배열의 사용을 고려하라
아이템 59 가변 컬렉션 사용을 고려하라
아이템 60 적절한 컬렉션 타입을 사용하라

용어

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.