간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (30,780원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (22,680원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (25,920원)
(최대할인 4만원 / 2만원 이상 결제)
Close

자바에서 코틀린으로 : 코틀린으로 리팩터링하기[초판]

원제 : Java to Kotlin
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 264
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

36,000원

  • 32,400 (10%할인)

    1,800P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 12/12(월) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

자바에서 코틀린으로 코드 마이그레이션하기

인도네시아 자바섬에서 러시아 코틀린섬까지 1만3000킬로미터를 육로로 여행하려면 일주일이 걸린다. 숙련된 자바 개발자가 코틀린에 능숙해지기까지 걸리는 시간도 일주일 남짓일 것이다.
하지만 코틀린에서는 자바와 다른 방식이어야 한다. 코틀린의 결에 맞게 값 중심의 함수형 프로그래밍, 널 가능성, 람다, 확장 함수, 결과 타입 등을 활용해 코드를 작성하면서 코틀린의 강점을 살릴 수 있다. 이렇게 되면 전통적인 자바 객체 지향 코드보다 더 안전하고, 유지 보수하기 쉽고, 간결하면서 보기 좋은 코드를 작성할 수 있다.
저자들은 2015년에 이 여행을 시작한 후, 많은 팀과 개발자가 자신들의 발자취를 따르도록 도왔다. 옵셔널에서 널이 될 수 있는 타입으로, 빈에서 값으로, 열린 클래스에서 봉인된 클래스로 변경하는 등 여러 코스로 나누어진 여행을 함께 떠나보자. 여정마다 핵심 개념을 설명한 뒤, 프로덕션 자바 코드를 전형적인 코틀린 코드로 리팩터링하는 방법을 보여주는 방식으로 구성된다. 리팩터링하는 과정은 점진적으로 안전하게 이뤄지며, 리팩터링 전후 자바와 코틀린의 상호 운용성은 그대로 유지된다.
코틀린으로 리팩터링한 코드는 더 단순하고, 표현력이 좋으며, 변경하기가 쉽다. 이 여행이 끝날 즈음이면 자신 있게 자바 코드를 코틀린으로 리팩터링할 수 있고, 밑바닥부터 코틀린 코드를 작성할 수 있으며, 시간에 따라 진화하는 자바와 코틀린이 혼합된 코드 기반을 관리할 수 있게 될 것이다.

출판사 서평

‘이런 책이 있었더라면…’ 저자들이 상상하고 실제로 만든 책 ‘코틀린으로 리팩터링하기’
이 책은 일차적으로 코틀린으로 전환하려는 자바 개발자를 위한 책이다. 자바와 코틀린의 결을 비교하면서 자바에서 자주 쓰이는 기능을 어떤 코틀린 기능으로 이식할 수 있는지 차근차근 설명한다. 설명한 기능이 포함된 자바 코드를 코틀린 코드로 리팩터링하는 과정을 보여주면서 코드 기반을 깨지 않고 자바와 코틀린을 혼용하면서 점진적으로 자바 코드와 코틀린으로 변환한다. 변환된 코틀린 코드가 단순히 자바 코드의 코틀린 버전이 아니라, 코틀린 결을 따르는 코틀린다운 코드가 되는 과정을 보여준다. 그래서 기존 자바 프로젝트를 코틀린으로 변환하거나, 변환하는 과정에서 자바와 코틀린을 혼용하면서 계속 프로젝트를 유지 보수해야 하는 독자에게 큰 도움이 된다. 코틀린으로 이식해야 하는 기존 자바 프로젝트가 없는 독자라도 이런 과정을 살펴보면서 코틀린과 자바의 결이 어떻게 다른지 이해하고, 코틀린의 결을 살려서 같은 코드로 변환할 수 있는지 알 수 있다. 이를 통해 코틀린으로만 코드를 작성할 때도 도움을 받을 수 있으며, 리팩터링 단계를 따라하면서 리팩터링을 연습할 수 있다.

[대상 독자]
● 기존 지식을 활용해 더 빠르게 코틀린을 채택하고 싶은 자바 개발자
● 자바 코드를 코틀린 코드로 변환하고 싶은 분
● 코틀린 프로젝트에서 본능적으로 코틀린과 함수보다 자바와 객체에 더 많이 의존하는 분

[관련 서적 (제목 + ISBN)]
● 처음 배우는 스위프트 / 9791162243725
● 이것이 안드로이드다 with 코틀린(3판) / 9791162245026
● 소문난 명강의: 오준석의 안드로이드 생존코딩_코틀린 편(2판) / 9791162244999

추천사

돈 그리피스와 데이비드 그리피스(『Head First Kotlin』 공저자)
이 책은 자바에서 코틀린으로 기술을 업그레이드하는 가장 빠르고 쉬운 방법이다. 프로 자바 개발자라면 누구나 필수로 읽어야 할 책이다.

벵카트 수브라마니암(박사, 애자일 디벨로퍼(Agile Developer, Inc.) 설립자)
예전 방식의 전형적인 자바 코드를 점진적으로 변환하여 깔끔하고 표현력이 좋으면서 유지 보수가 쉬운 코틀린 코드로 만들어내는 과정은 코틀린을 배우는 멋진 방법이다. 저자들의 경험에서 우러나는 조언이 이 책에 잘 응축되어 있다.

목차

CHAPTER 1 소개
1.1 프로그래밍 언어의 결
1.2 코틀린의 결
1.3 코틀린으로 리팩터링하기
1.4 어떤 코드를 변경할까?
1.5 시작하기

CHAPTER 2 자바 프로젝트에서 코틀린 프로젝트로
2.1 전략
2.2 코틀린 지원을 자바 빌드에 추가하기
2.3 다음으로 나아가기

CHAPTER 3 자바 클래스에서 코틀린 클래스로
3.1 간단한 값 타입
3.2 데이터 클래스의 한계
3.3 다음으로 나아가기

CHAPTER 4 옵셔널에서 널이 될 수 있는 타입으로
4.1 없음을 표현하기
4.2 옵셔널에서 널 가능성으로 리팩터링하기
4.3 코틀린다운 코드로 리팩터링하기
4.4 다음으로 나아가기

CHAPTER 5 빈에서 값으로
5.1 빈
5.2 값
5.3 값을 선호해야만 하는 이유는 무엇인가?
5.4 빈을 값으로 리팩터링하기
5.5 다음으로 나아가기

CHAPTER 6 자바에서 코틀린 컬렉션으로
6.1 자바 컬렉션
6.2 코틀린 컬렉션
6.3 자바에서 코틀린 컬렉션으로 리팩터링하기
6.4 다음으로 나아가기

CHAPTER 7 동작에서 계산으로
7.1 함수
7.2 계산
7.3 동작
7.4 왜 계산과 동작에 신경 쓰는가?
7.5 왜 계산을 선호하는가?
7.6 동작을 계산으로 리팩터링하기
7.7 다음으로 나아가기

CHAPTER 8 정적 메서드에서 최상위 함수로
8.1 자바의 정적 멤버
8.2 코틀린 최상위 함수와 동반 객체
8.3 정적 메서드를 최상위 함수로 리팩터링하기
8.4 최상위로 옮기기
8.5 코틀린답게 다듬기
8.6 다음으로 나아가기

CHAPTER 9 다중식 함수에서 단일식 함수로
9.1 테이크 1: 인라이닝
9.2 테이크 2: 새 함수 도입하기
9.3 테이크 3: LET
9.4 테이크 4: 한 걸음 물러서기
9.5 다음으로 나아가기

CHAPTER 10 함수에서 확장 함수로
10.1 함수와 메서드
10.2 확장 함수
10.3 확장 함수의 타입과 함수의 타입
10.4 확장 프로퍼티
10.5 변환
10.6 널이 될 수 있는 파라미터
10.7 널이 될 수 있는 수신 객체
10.8 제네릭스
10.9 확장 함수를 메서드로 정의하기
10.10 확장 함수로 리팩터링하기
10.11 다음으로 나아가기

CHAPTER 11 메서드에서 프로퍼티로
11.1 필드, 접근자, 프로퍼티
11.2 어떻게 선택해야 할까?
11.3 가변 프로퍼티
11.4 프로퍼티로 리팩터링하기
11.5 다음으로 나아가기

CHAPTER 12 함수에서 연산자로
12.1 토대가 되는 클래스: Money
12.2 사용자 정의 연산자 추가
12.3 기존 코틀린 코드에서 정의한 연산자 호출하기
12.4 기존 자바 클래스를 위한 연산자
12.5 값을 표현하는 관습
12.6 다음으로 나아가기

CHAPTER 13 스트림에서 이터러블이나 시퀀스로
13.1 자바 스트림
13.2 코틀린 이터러블
13.3 코틀린 시퀀스
13.4 다중 이터레이션
13.5 스트림, 이터러블, 시퀀스 사이에 선택하기
13.6 대수적 변환
13.7 스트림에서 이터러블이나 시퀀스로 리팩터링하기
13.8 다음으로 나아가기

CHAPTER 14 누적시키는 객체에서 변환으로
14.1 누적기 파라미터를 사용해 계산하기
14.2 불변 데이터에 작용하는 함수로 리팩터링하기
14.3 한 번 더 해 보자
14.4 발견한 추상화를 더 풍성하게 만들기
14.5 다음으로 나아가기

CHAPTER 15 캡슐화한 컬렉션에서 타입 별명으로
15.1 도메인 컬렉션 합성하기
15.2 다른 프로퍼티가 있는 컬렉션
15.3 캡슐화된 컬렉션 리팩터링하기
15.4 다음으로 나아가기

CHAPTER 16 인터페이스에서 함수로
16.1 객체 지향 캡슐화
16.2 함수형 캡슐화
16.3 자바의 함수 타입
16.4 믹스 앤드 매치
16.5 여러 접근 방법의 비교
16.6 결합
16.7 객체 지향인가 함수형인가?
16.8 자바의 레거시
16.9 추적가능성
16.10 인터페이스에서 함수로 리팩터링하기
16.11 다음으로 나아가기

CHAPTER 17 목에서 맵으로
17.1 목을 맵으로 대체하기
17.2 그렇지만 실제 목에서 벗어났는가?
17.3 다음으로 나아가기

CHAPTER 18 열린 클래스에서 봉인된 클래스로
18.1 다형성을 쓸까 봉인된 클래스를 쓸까?
18.2 인터페이스를 봉인된 클래스로 변환하기
18.3 다음으로 나아가기

CHAPTER 19 예외 던지기에서 값 반환으로
19.1 예외 이전의 오류 처리
19.2 예외를 사용한 오류 처리
19.3 자바와 체크 예외
19.4 코틀린과 예외
19.5 예외를 넘어서: 함수형 오류 처리
19.6 코틀린의 오류 처리
19.7 예외를 오류로 리팩터링하기
19.8 더 수정하기
19.9 계층
19.10 다음으로 나아가기

CHAPTER 20 I/O 수행에서 데이터 전달로
20.1 테스트를 듣기
20.2 I/O에서 데이터로
20.3 효율적인 쓰기
20.4 효과적인 읽기
20.5 다음으로 나아가기

CHAPTER 21 예외에서 값으로
21.1 잘못된 원인 파악하기
21.2 오류 표현하기
21.3 I/O를 어떻게 처리할까?
21.4 다음으로 나아가기

CHAPTER 22 클래스에서 함수로
22.1 인수 테스트
22.2 단위 테스트
22.3 헤더
22.4 다른 필드 구분자
22.5 시퀀스
22.6 파일 읽기
22.7 커먼즈 CSV와 비교
22.8 다음으로 나아가기

CHAPTER 23 여행은 계속된다
23.1 결
23.2 함수형 사고
23.3 단순한 설계
23.4 함수형 프로그래밍과 텍스트를 통한 추론
23.5 리팩터링
23.6 리팩터링과 함수형 사고

관련이미지

저자소개

덩컨 맥그레거 [저] 신작알림 SMS신청
생년월일 -

덩컨 맥그레거, 냇 프라이스 두 사람은 합쳐서 50년 이상을 전문적인 소프트웨어 개발자로 살았다. 이들은 다양한 산업 분야에서 상당한 양의 소프트웨어를 개발했다. 소프트웨어를 개발하는 데 관련 글을 많이 작성했고, 소프트웨어 개발 관련 글을 작성하기 위한 소프트웨어를 만들었고, 소프트웨어를 개발하는 법을 강의했고, 콘퍼런스에서 소프트웨어 개발에 대한 워크숍을 진행했고, 소프트웨어 개발에 대한 콘퍼런스 조직을 도왔다.
이들이 개발한 소프트웨어 중 상당수는 자바로 쓰였다. 모든 소프트웨어를 자바로 개발하지는 않았지만 상당 부분을 자바로 개발했다

펼쳐보기
냇 프라이스 [저] 신작알림 SMS신청
생년월일 -

덩컨 맥그레거, 냇 프라이스 두 사람은 합쳐서 50년 이상을 전문적인 소프트웨어 개발자로 살았다. 이들은 다양한 산업 분야에서 상당한 양의 소프트웨어를 개발했다. 소프트웨어를 개발하는 데 관련 글을 많이 작성했고, 소프트웨어 개발 관련 글을 작성하기 위한 소프트웨어를 만들었고, 소프트웨어를 개발하는 법을 강의했고, 콘퍼런스에서 소프트웨어 개발에 대한 워크숍을 진행했고, 소프트웨어 개발에 대한 콘퍼런스 조직을 도왔다.
이들이 개발한 소프트웨어 중 상당수는 자바로 쓰였다. 모든 소프트웨어를 자바로 개발하지는 않았지만 상당 부분을 자바로 개발했다

펼쳐보기
오현석 [역] 신작알림 SMS신청
생년월일 -

저자 오현석은 비사이드소프트(BSIDESOFT) 이사로 일하면서 매일매일 고객의 요청에 따라 코드를 만들어내고 있는 현업 개발자다. 어릴 때 처음 컴퓨터를 접하고 매혹된 후 경기과학고, KAIST 전산학과(프로그래밍 언어 전공 석사)를 거치면서 계속 컴퓨터를 사용해왔다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 빈 시간에는 번역을 하거나 공부를 하면서 즐거움을 찾는다. 시간이 아주 많이 남을 때는 시뮬레이션 게임을 하면서 머리를 식히고 놀고, 어떻게 하면 막내자식을 프로그래밍의 세계로 끌어들일 수 있을까 고민 중인 아

펼쳐보기

역자의 다른책

전체보기
펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    0.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용