코틀린 객체지향 프로그래밍

OOP를 위한 다양한 디자인 패턴
$39.69
SKU
9791161757506
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 04/18 - Thu 04/24 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 04/15 - Thu 04/17 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2023/04/28
Pages/Weight/Size 188*235*27mm
ISBN 9791161757506
Categories IT 모바일 > 프로그래밍 언어
Description
자바의 대안으로 많은 개발자가 코틀린을 선택하고 있다. 이 책은 코틀린의 클래스, 데이터 클래스, 상속과 같은 기능에 대한 포괄적인 내용을 다룬다. 또한 디자인 패턴의 이해와 코틀린 구문이 객체 지향 기술과 함께 작동하는 방식도 잘 설명한다. 레이블이 지정된 for loop와 when을 표현식으로 작성하고 봉인된 클래스, 패키지 수준 함수, 코루틴과 같은 고급 개념을 소개하며, 이러한 개념으로 소프트웨어를 만드는 방법을 배울 것이다.
Contents
01장. 코틀린 시작하기

__기술적 요구 사항
__코틀린 소개
__코틀린의 데이터 유형
____코틀린에서 변수 선언
______var 키워드
______val 키워드
______유형 추론
______유형 어노테이션
______숫자 데이터 유형
______실수 데이터 유형
______불리언 데이터 유형
______문자 데이터 유형
______is 키워드를 사용한 유형 검사
______문자열 변수
__널 안전성, 형 변환, 페어, 트리플
____널 안전성
______안전한 호출 연산자
______안전한 호출 연산자 ?.
______엘비스 연산자 ?:
______널 아님 단정 연산자 !!
____형 변환
______바이트에서 단정도 실수로의 변환
______배정도 실수에서 정수로 변환
______문자열에서 정수로 변환
______스마트 형 변환(Smart cast)
______안전하지 않은 형 변환
____페어와 트리플
______선언 방법
______값을 가져오는 방법
__흐름 제어
____if문
____if else문
____조건부 연산자가 있는 if문
______논리합 연산자(and, &&)가 있는 if문
______논리합 연산자(or, ||)가 있는 if문
______논리부정 연산자(not, !)가 있는 if문
______if 표현식
______when 표현식
________여러 조건의 결합
________when 표현식에서 범위 사용
________표현식으로 when 사용
__반복문 소개
____while문
____while문 정의
____do while문
____for문
______for문 정의
______중첩된 for문
______break문
______레이블을 가진 for문과 break문
__함수란?
____함수 선언
____매개변수와 반환 형식이 없는 함수
____매개변수가 있는 함수
____매개변수와 반환 유형이 있는 함수
____표현식 함수
____기본값이 있는 함수
____명명된 매개변수를 가진 함수
____함수와 vararg
____다른 인자와 함께 쓰는 vararg
____패키지 수준의 함수
______함수를 액세스하는 방법
__요약
__질문
__참고 도서 목록

02장. 객체지향 프로그래밍 소개

__기술적 요구 사항
__객체지향 프로그래밍이란?
____클래스와 객체
____속성과 행위
__객체지향 프로그래밍의 이점
__코틀린의 클래스
__속성: 일급 객체
__생성자를 사용해 클래스 만들기
____기본 생성자
____주 생성자
____init 블록을 가진 주 생성자
______this 키워드
____부 생성자
______생성자 오버로딩
______기본 매개변수를 가진 생성자
______명명된 매개변수를 가진 생성자
__데이터 클래스란?
____toString() 함수
____equals() 함수 ==
____copy() 함수
____hashCode() 함수
______객체 분해
__클래스와 함수
____함수 오버로딩
__요약
__질문
__참고 도서 목록

03장. 객체지향 프로그래밍의 4가지 요소

__기술적 요구 사항
__캡슐화
____정보 은닉
____접근 제한자
______private 제한자
______protected 제한자
____구현 숨기기
__상속이란?
____open 키워드
____super 키워드
____클래스 초기화 계층 구조
__추상화
____추상 클래스
____추상 함수
__인터페이스
____다중 인터페이스
______인터페이스 간 충돌 해결
______인터페이스와 다형성
__오버라이딩
____오버라이딩이란?
____super 키워드
____final 키워드
______함수 오버라이딩 규칙
____프로퍼티 오버라이딩
__상속의 종류
____단일 상속
____다중 상속
____계층 상속
____계층 다중 상속
____is-a 관계
__다형성
____다형성의 작동 원리
______동적 바인딩
__요약
__질문
__참고 도서 목록

04장. 클래스: 고급 개념

__기술적 요구 사항
__봉인된 클래스와 열거형 클래스
____봉인된 클래스
______when절과 봉인된 클래스
______봉인된 클래스가 필요한 이유
____열거형 클래스
______생성자를 가진 열거형 클래스
______열거형 클래스와 함수
______열거형 클래스와 인터페이스
__객체와 컴패니언 객체
____상속과 인터페이스가 함께 있는 객체 클래스
____컴패니언 객체
______컴패니언 함수와 인터페이스
__집합, 구성, 중첩 클래스
____집합
____구성
____중첩 클래스
______내부 클래스
__클래스 프로퍼티
__위임 프로퍼티
__기본 제공 위임자
__요약
__질문
__참고 도서 목록

05장. 데이터 컬렉션, 반복자, 필터

__기술적 요구 사항
__범위
____범위 유형
____범위 선언
______rangeTo 함수
______until 함수
______downTo 함수
______step 함수
______contains 함수
______elementAt 함수
______범위 프로퍼티
______coerce 함수
________coerceIn 함수
________coerceAtMost(maxValue) 함수
________coerceAtLeast(minValue) 함수
__배열
____배열 정의
____특정 유형의 배열
______배열 요소의 색인
____get 함수
____배열과 for문
____배열 선언과 초기화
______set 함수
______불변 요소를 갖는 가변 배열
______배열의 람다 표현식
______서로 다른 유형의 요소를 가진 배열
______arrayOfNulls 함수
____배열 복사
__코틀린의 목록
____불변 목록
______listOfNotNull 함수
______목록에 접근
____불변 목록과 인터페이스
______반복 가능 인터페이스
______컬렉션 인터페이스
______목록 인터페이스
____가변 목록
______MutableInterable 인터페이스
______가변 컬렉션 인터페이스
______가변 목록 인터페이스
____코틀린에서 세트
______불변 세트
______가변 세트
____맵
______불변 맵
______가변 맵
____코틀린에서 반복자
______반복자
______list 반복자
______가변 반복자
______가변 목록 반복자
__필터와 컬렉션 함수
____filter 함수
______it 키워드
____filterNot 함수
____filterNotNull 함수
____filterIsInstance〈dataType〉 함수
____slice 함수
____take 함수
______takeLast
______takeWhile
______takeLastWhile
____drop 함수
______dropLast
______dropWhile
______dropWhileLast
____fold 함수
____foldRight
____reduce 함수
______reduceRight
______reduceRightIndexed
____몇 가지 중요한 함수
______forEach
______forEachIndexed
______onEach
______max와 maxBy
______min과 minBy
__요약
__질문
__참고 도서 목록

06장. 코틀린을 사용한 객체지향 패턴

__기술적 요구 사항
__설계 패턴은 무엇이며 어떻게 도움을 주는가?
__설계 패턴의 유형
____생성 패턴
____구조 패턴
____행동 패턴
__생성 패턴
____생성자
____팩토리 메서드
____추상 팩토리
____싱글톤
__구조 패턴
____어댑터
____데코레이터
____퍼사드
____프록시
__행동 패턴
____관찰자
____전략
____명령
____상태
____책임 연쇄
____방문자
__요약

07장. 코루틴: 경량 스레드?

__기술적 요구 사항
__코루틴이란?
__코루틴과 스레드
__코루틴 예제 코드
____예외 처리
____자원 해제
____취소 불가능 블록
____병렬 실행
____지연 실행
____채널
__요약

08장. 상호운용성

__기술적 요구 사항
__코틀린에서 자바 코드 호출
____정적 변수와 함수 호출
____코틀린에서 자바 컬렉션 호출
____코틀린의 예약어
____코틀린에서 자바 클래스
__자바에서 코틀린 코드 호출
____코틀린 함수 호출
______확장 함수
______가변 컬렉션이 있는 함수
______불변 컬렉션이 있는 함수
______JVM 어노테이션이 있는 함수
____코틀린 클래스 호출
____코틀린 싱글톤 클래스 호출
__요약
__질문
__참고 도서 목록

09장. 코틀린의 정규식과 직렬화

__기술적 요구 사항
__정규식 소개
__코틀린과 정규식
__직렬화 소개
__직렬화와 코틀린 지원
__요약

10장. 예외 처리

__기술적 요구 사항
__예외 처리란?
__확인된 예외와 확인되지 않은 예외
____예외 계층 구조
____자바에서의 예외
____코틀린에서의 예외
____상호운용성
__try 블록을 표현식으로 사용
__사용자 정의 예외 작성
__요약
__질문
__참고 도서 목록

11장. 코틀린을 사용한 객체지향 프로그래밍 테스트

__기술적 요구 사항
__테스트의 필요성
__테스트 유형
____수동 테스트
____자동 테스트
______단위 테스트
__코틀린 테스트 라이브러리
____설치
______그루비 스크립트를 사용하는 그레들
______코틀린 스크립트를 사용하는 그레들
______메이븐
__테스팅 예제 코드
____클래스 참조
____사양 작성
______given, on과 it 블록
______예외 테스트
______describe과 it 블록
__요약
__질문
__참고 도서 목록
Author
아비드 칸,이고르 쿠체렌코,황주필
10년 이상의 경험을 가진 애플리케이션 개발자이자 테스트 엔지니어다. C/C++ 및 자바를 비롯한 다양한 프로그래밍 언어 분야에서 활동했으며, 현재 안드로이드 개발을 위한 기본 언어로 코틀린을 사용하고 있다. 스웨덴 스톡홀름에 산다. 새로운 기술을 배우고 나서 그에 대한 글을 쓰는 데 시간을 보낸다.
10년 이상의 경험을 가진 애플리케이션 개발자이자 테스트 엔지니어다. C/C++ 및 자바를 비롯한 다양한 프로그래밍 언어 분야에서 활동했으며, 현재 안드로이드 개발을 위한 기본 언어로 코틀린을 사용하고 있다. 스웨덴 스톡홀름에 산다. 새로운 기술을 배우고 나서 그에 대한 글을 쓰는 데 시간을 보낸다.