자바에서 코틀린으로 (코틀린으로 리팩터링하기)

자바에서 코틀린으로 (코틀린으로 리팩터링하기)

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

덩컨맥그레거,냇프라이스

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

목차

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

출판사 서평

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

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

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