본문 바로가기

추천 검색어

실시간 인기 검색어

자바에서 코틀린으로

코틀린으로 리팩터링하기
한빛미디어

2022년 11월 07일 출간

종이책 : 2022년 11월 10일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (3.82MB)
ISBN 9791169216296
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 28,800원

쿠폰적용가 25,920

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

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

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

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

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

작가정보

Duncan McGregor
덩컨 맥그레거, 냇 프라이스 두 사람은 합쳐서 50년 이상을 전문적인 소프트웨어 개발자로 살았다. 이들은 다양한 산업 분야에서 상당한 양의 소프트웨어를 개발했다. 소프트웨어를 개발하는 데 관련 글을 많이 작성했고, 소프트웨어 개발 관련 글을 작성하기 위한 소프트웨어를 만들었고, 소프트웨어를 개발하는 법을 강의했고, 콘퍼런스에서 소프트웨어 개발에 대한 워크숍을 진행했고, 소프트웨어 개발에 대한 콘퍼런스 조직을 도왔다.
이들이 개발한 소프트웨어 중 상당수는 자바로 쓰였다. 모든 소프트웨어를 자바로 개발하지는 않았지만 상당 부분을 자바로 개발했다. 이들은 자바가 C++과 비교할 때 새로운 바람인 것처럼 느껴지던 때를 기억할 만큼 오랫동안 소프트웨어 업계에 종사했다. 이제 이들은 자바와 비교할 때 코틀린이 새로운 바람이 될 수 있음을 알았고, 코틀린으로 소프트웨어를 개발하는 법에 대한 책을 집필했다(그리고 이 책을 작성하는 과정을 돕기 위한 소프트웨어도 개발했다).

Nat Pryce
덩컨 맥그레거, 냇 프라이스 두 사람은 합쳐서 50년 이상을 전문적인 소프트웨어 개발자로 살았다. 이들은 다양한 산업 분야에서 상당한 양의 소프트웨어를 개발했다. 소프트웨어를 개발하는 데 관련 글을 많이 작성했고, 소프트웨어 개발 관련 글을 작성하기 위한 소프트웨어를 만들었고, 소프트웨어를 개발하는 법을 강의했고, 콘퍼런스에서 소프트웨어 개발에 대한 워크숍을 진행했고, 소프트웨어 개발에 대한 콘퍼런스 조직을 도왔다.
이들이 개발한 소프트웨어 중 상당수는 자바로 쓰였다. 모든 소프트웨어를 자바로 개발하지는 않았지만 상당 부분을 자바로 개발했다. 이들은 자바가 C++과 비교할 때 새로운 바람인 것처럼 느껴지던 때를 기억할 만큼 오랫동안 소프트웨어 업계에 종사했다. 이제 이들은 자바와 비교할 때 코틀린이 새로운 바람이 될 수 있음을 알았고, 코틀린으로 소프트웨어를 개발하는 법에 대한 책을 집필했다(그리고 이 책을 작성하는 과정을 돕기 위한 소프트웨어도 개발했다).

모빌리티42 이사로 일하면서 매일 고객의 요청에 따라 코드를 만드는 현업 개발자다. 어릴 때 처음 접한 컴퓨터에 매료된 후 경기과학고등학교, KAIST 전산학 학사와 프로그래밍 언어 전공 석사를 취득하며 계속 컴퓨터를 사용했다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 빈 시간에는 번역을 하거나 공부하면서 즐거움을 찾는다.
『코어 파이썬 애플리케이션 프로그래밍』(에이콘, 2014)을 시작으로 『배워서 바로 쓰는 스프링 프레임워크』(2020), 『러닝 리액트(2판)』(2021), 『고성능 파이썬(2판)』(이상 한빛미디어, 2021) 등 30권 이상의 책을 번역했다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    자바에서 코틀린으로 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    자바에서 코틀린으로 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    자바에서 코틀린으로
    코틀린으로 리팩터링하기
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)