HOME > 상세정보

상세정보

(깡샘의) 안드로이드 프로그래밍 / 초판 3쇄

(깡샘의) 안드로이드 프로그래밍 / 초판 3쇄

자료유형
단행본
개인저자
서명 / 저자사항
(깡샘의) 안드로이드 프로그래밍 / 강성윤 지음
판사항
초판 3쇄
발행사항
부천 : 루비페이퍼, 2019 (2020 4쇄)
형태사항
xxxv, 1122 p. : 천연색삽화 ; 26 cm
ISBN
9791186710210
일반주기
색인수록 86개 실습 예제와 해설 동영상 강의 수록, 코틀린 핵심 내용 수록
000 00000cam c2200205 c 4500
001 000046058524
005 20201202135950
007 ta
008 201202s2019 ggka 001c kor
020 ▼a 9791186710210 ▼g 93000
035 ▼a (KERIS)BIB000015347334
040 ▼a 222003 ▼c 222003 ▼d 211009
082 0 4 ▼a 005.7126 ▼2 23
085 ▼a 005.7126 ▼2 DDCK
090 ▼a 005.7126 ▼b 2019z1
100 1 ▼a 강성윤
245 2 0 ▼a (깡샘의) 안드로이드 프로그래밍 / ▼d 강성윤 지음
250 ▼a 초판 3쇄
260 ▼a 부천 : ▼b 루비페이퍼, ▼c 2019 ▼g (2020 4쇄)
300 ▼a xxxv, 1122 p. : ▼b 천연색삽화 ; ▼c 26 cm
500 ▼a 색인수록
500 ▼a 86개 실습 예제와 해설 동영상 강의 수록, 코틀린 핵심 내용 수록
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.7126 2019z1 등록번호 121255434 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

안드로이드 새내기도 앱을 만들 수 있도록 구성된 책. 각 챕터마다 안드로이드 프로그램과 각 기능이 어떠한 구조로 어떻게 작동하는지 그 원리를 파악하는 데 주력한다. 그리고 이를 구현하는 핵심 코드를 알아본 다음, 이를 종합하여 기능을 직접 개발해보는 실습을 진행한다.

안드로이드 새내기도 앱을 만들 수 있는 체계적 구성!

이 책은 각 챕터마다 안드로이드 프로그램과 각 기능이 어떠한 구조로 어떻게 작동하는지 그 원리를 파악하는 데 주력합니다. 그리고 이를 구현하는 핵심 코드를 알아본 다음, 이를 종합하여 실제 상용 앱에서 많이 사용하는 기능을 직접 개발해보는 실습을 진행합니다. 그리고 각 파트별로 도전 과제를 통해 학습자 스스로 주어진 조건에 맞는 앱을 만들어봄으로써 앞에서 배운 이론과 실습을 복기하고 문제 해결 능력을 기를 수 있게 구성하였습니다. 한 마디로 체계적이고 따라 하기 쉽습니다.

- 출판사 서평 -
"이 책은 개념 설명도 잘 돼 있고 구성도 좋아서 저처럼 안드로이드를 처음 접하는 사람에게 좋은 거 같습니다. 그런데 저는 이 책의 최대 강점을 실습으로 꼽고 싶습니다. 실습에서는 핸드폰에서 자주 사용하던 앱에서 줄기차게 봐았던 기능들을 직접 구현해보는데요. 예를 들어, 카카오택시에서처럼 지도를 보여주고 현재 위치를 중심으로 지도를 옮기거나 내 위치에 마커를 표시하는 등의 기능을 구현해봅니다. 놀라운 건 이런 게 무려 86개나 된다는 사실이죠. @@

그런데 한 가지 걱정이 있습니다. 아무리 재밌는 실습이 많다고 해도 초보인 제가 쉽게 따라 할 수 있을까 하는 걱정이요. 책에 단계별로 그림과 함께 잘 나와 있어서 초반에는 어려움이 없었는데, 중반부터는 슬슬 어렵더라고요. 일단 안드로이드 스튜디오 사용법도 익숙하지 않은 데다, 소스 파일와 리소스 파일, 라이브러리 등이 복잡하게 얽혀있으니까요.

그때 스쳤던 게 동영상 강의 QR 코드였어요. 그동안 귀찮아서 넘겼던 동영상 강의를 틀어보았습니다. 헐~ 대박! 안드로이드 스튜디오에서 무엇을 어떤 순서로 누르고, 코딩하고, 돌리고 등등... 95개 실습 전부를 자세하게 설명해주더라고요. 코드를 완벽하게 이해하는 건 둘째 치고, 일단 프로젝트를 따라서 실행해볼 수 있다는 것에 만족감이 컸습니다. 그리고 중간중간 왜 그렇게 해야 하는지, 초보자가 실수하기 쉬운 부분, 버전에 따른 변경 사항 등도 해설해주는데, 책으로 배운 내용을 한번 더 복습하니까 뇌에 콕콕 박히는 거 같았습니다(근데 선생님 목소리가 쪼~금 작아요 볼륨을 높여야 해요).

솔직히 저는 한 번 정독해서 읽었지만, 아직 이 책에 나오는 모든 개념과 소스를 다 이해한 건 아니에요. 그렇지만 '컴포넌트'와 '인텐트' 두 마리 토끼는 확실히 잡은 거 같아서 큰 도움이 됐습니다. 앞으로 한 번 더 읽을 생각이고 또 다른 책들도 봐야겠지만, 이 책이 첫 책이었다는 게 다행이다 싶어요. 처음에는 빈 화면에 버튼 몇 개 넣고 핸드폰에서 눌러만 봐도 마냥 신기했는데, 이제 나만의 멋진 앱을 만들어볼 수 있다는 희망이 생겼습니다. 행운을 빌어요.

우연히 먼저 보게 된 「몽테크리스토」님 서평 중

"안드로이드 명품 강의를 책으로 만날 수 있게 되었다."
멀티캠퍼스 전임교수 「최호성」님 추천사 중

"드디어, 배울 때와 써먹을 때가 다르지 않은 책이 나왔다."
삼성SDS 과장이자, 제자인 「엄태형」님 추천사 중

※ 실습 공유 파일 및 책 예제
- http://kkangsnote.tistory.com/
- https://github.com/kkangseongyun/kkangs_android_2019


정보제공 : Aladin

저자소개

강성윤(지은이)

IT 전문 강사인 저자는 멀티캠퍼스에서 소프트웨어 분야를 강의하고 있으며, 2010년부터 안드로이드 앱 개발을 강의하고 있다. 또한, 모바일/IoT 전문업체인 MotizenSoft에서 모바일 팀을 이끌고 있다.

정보제공 : Aladin

목차

"Part 1 안드로이드 시작하기
01_개발환경을 구축하자!
1.1. 안드로이드 스튜디오 개발환경 구축 
1.1.1. 안드로이드 스튜디오 설치 
1.1.2. 안드로이드 스튜디오 설정 
1.2. 첫 번째 앱 만들고 실행하기 
1.2.1. 프로젝트 생성 
1.2.2. AVD 매니저 
1.2.3. AVD에서 실행 
1.2.4. 스마트폰에서 실행 
1.2.5. 개발 편의를 위한 설정 
1.3. 앱 배포 
1.3.1. APK 파일을 이용한 배포 
1.3.2. ABB 파일을 이용한 배포 
1.3.3. 구글 Play 스토어에 앱 배포 

02 _안드로이드 프로젝트 이해
2.1. 안드로이드 앱 개발 특징 
2.1.1. 안드로이드의 특징 
2.1.2. 안드로이드 플랫폼 아키텍처 
2.1.3. 컴포넌트 기반 개발 
2.1.4. 리소스를 이용한 개발 
2.2. 개발 디렉터리와 파일 구조 
2.2.1. 앱의 디렉터리와 파일 
2.2.2. R.java의 이해 
2.3. 그레이들(gradle) 파일 
2.3.1. settings.gradle 
2.3.2. 프로젝트 수준의 그레이들 
2.3.3. 모듈 수준의 그레이들 
2.4. Hello World 앱 코드 분석 
2.4.1. AndroidManifest.xml 
2.4.2. MainActivity.java 
2.4.3. activity_main.xml 
2.5. 안드로이드 버전 

Part 2  기본 앱을 만들어보자
03_사용자 인터페이스
3.1. UI의 기본 구조 
3.1.1. 액티비티-뷰 구조 
3.1.2. UI 프로그램 작성 방법: 자바 코드 VS 레이아웃 XML 
3.1.3. 뷰의 기초 속성 
3.2. 뷰 아키텍처 
3.2.1. 뷰의 계층구조 
3.2.2. 뷰 계층구조 구현 
3.3. 기초 뷰 활용 
3.3.1. TextView 
3.3.2. ImageView 
3.3.3. EditText 
3.3.4. Button 
3.3.5. Checkbox, RadioButton 

04 _레이아웃을 활용한 다양한 뷰 배치
4.1. LinearLayout 
4.1.1. LinearLayout 소개 
4.1.2. 레이아웃 중첩 
4.1.3. LinearLayout 속성 
4.2. RelativeLayout 
4.2.1. RelativeLayout 소개 
4.2.2. align 속성 
4.2.3. alignParentXXX 속성 
4.3. FrameLayout 
4.3.1. FrameLayout 소개 
4.3.2. 탭 화면 구현 : TabHost 
4.4. TableLayout 
4.5. GridLayout 
4.5.1. GridLayout 소개 
4.5.2. GridLayout 속성 
4.6. ConstraintLayout 
4.6.1. 상대적 위치 지정 
4.6.2. 여백(margin) 173
4.6.3. 가운데 맞춤과 치우침(bias) 
4.6.4. 비율(Ratio) 

05 _다양한 사용자 알림 효과
5.1. 진동과 소리 
5.1.1. 진동 울리기 
5.1.2. 소리 울리기 
5.2. 다이얼로그 
5.2.1. 토스트(Toast) 
5.2.2. 알림 창(AlertDialog) 
5.2.3. 목록(AlertDialog) 
5.2.4. 날짜 선택(DatePickerDialog) 
5.2.5. 시간 선택(TimePickerDialog) 
5.2.6. 커스텀 다이얼로그(AlertDialog) 

06 _사용자 이벤트 처리
6.1. 델리게이션 이벤트 모델 
6.1.1. 이벤트 프로그램 구조 
6.1.2. 다양한 이벤트 처리 
6.2. 하이어라키 이벤트 모델 
6.2.1. 터치 이벤트 
6.2.2. 키 이벤트 

07 _리소스 활용 및 스마트폰 크기 호환성
7.1. 안드로이드 리소스 
7.1.1. 리소스 종류 
7.1.2. 다양한 리소스 활용 
7.2. 스마트폰 크기 호환성 
7.2.1. 리소스 폴더명 조건 명시법 
7.2.2. DisplayMetrics 
7.2.3. 논리적 단위로 스마트폰 크기 호환성 확보 
도전 과제
Mission 1: 페이스북의 메신저 인트로 화면 구성 
Mission 2: 브런치 앱의 새 글 작성 화면 및 앱 종료 다이얼로그 띄우기 
Mission 3: 주소록 앱의 새 연락처 화면 구성 

Part 3 앱의 데이터를 영속화하자
08_DBMS을 이용한 데이터 영속화
8.1. SQLite을 이용한 영속화 
8.1.1. SQLiteDatabase 클래스 
8.1.2. SQLiteOpenHelper 클래스 
8.1.3. insert( ), query( ), update( ), delete( ) 함수 이용 
8.2. Realm을 이용한 데이터 영속화 
8.2.1. Realm 소개 
8.2.2. Realm 사용 설정 
8.2.3. Realm 사용 

09 _파일 및 SharedPreferences을 이용한 데이터 영속화
9.1. 퍼미션 
9.1.1. 퍼미션이란? 
9.1.2. 안드로이드 6.0 (API Level 23) 변경사항 
9.2. 파일에 읽고 쓰기 
9.2.1. 외부 저장 공간 이용 
9.2.2. 내부 저장 공간 이용 
9.3. SharedPreferences 
도전 과제
Mission 1: 주소록 앱의 새로운 연락처 등록 화면 기능 구현 

Part 4 다양한 화면을 구성하자
10_AdapterView 활용
10.1. Adapter와 AdapterView 
10.1.1. AdapterView의 구조 
10.1.2. 라이브러리의 Adapter 
10.2. 커스텀 Adapter 
10.2.1. 커스텀 Adapter가 필요한 예 
10.2.2. 커스텀 Adapter 작성 방법 
10.2.3. 커스텀 Adapter 추가 고려 사항 

11 _다양한 뷰 활용
11.1. Spannable 
11.1.1. Spannable의 필요성 
11.1.2. Spannable 적용 
11.1.3. fromHtml( ) 함수로 적용 
11.2. WebView 
11.2.1. WebView 활용 
11.2.2. 자바스크립트와 자바 연동 
11.2.3. 이벤트 처리 
11.3. 기타 유용한 뷰 
11.3.1. 콤보박스 : Spinner 
11.3.2. 텍스트 자동완성 : AutoCompleteTextView 
11.3.3. 프로그레스바 : ProgressBar 
11.3.4. 값을 입력받는 프로그레스바 : SeekBar 

12 _ActionBar와 메뉴
12.1. ActionBar 
12.1.1. ActionBar 구성 
12.1.2. 표시 옵션 
12.2. 안드로이드 API Level과 하위 호환성 
12.3. 메뉴 
12.3.1. 메뉴 작성 방법 
12.3.2. MenuInflater 활용 
12.3.3. 메뉴 다양하게 이용하기 

13 _커스텀 뷰 개발
13.1. 커스텀 뷰 작성 방법 
13.2. 그래픽 프로그램 
13.2.1. 뷰를 그리는 방법 
13.2.2. Paint 클래스 
13.2.3. 코드에서 논리적 크기 획득 
도전 과제
Mission 1: 전화 앱의 로그 화면 구현 
Mission 2: 피트니스 앱의 활동 로그 도넛 작성 
Mission 3: 검색 추천단어 화면 구성 

Part 5 액티비티를 제대로 이해하고 개발하자
14_인텐트와 구글 기본 앱 연동
14.1. 인텐트 
14.1.1. 인텐트의 기본 개념 
14.1.2. 명시적 인텐트, 암시적 인텐트 
14.1.3. 인텐트 필터(Intent Filter) 
14.1.4. Extra 데이터 
14.1.5. 결과 되돌리기 
14.2. 구글 기본 앱 연동 
14.2.1. 주소록 앱 
14.2.2. 카메라 앱 
14.2.3. 갤러리 앱 
14.2.4. 음성인식 앱 
14.2.5. 기타 앱 연동 

15 _액티비티 생명주기 및 다양한 제어
15.1. 액티비티 생명주기 
15.1.1. 생명주기 
15.1.2. 액티비티 상태 저장 
15.2. 태스크 관리 
15.2.1. 시스템의 태스크 관리 
15.2.2. 태스크 제어 방법 1 : launchMode 속성 설정 
15.2.3. 태스크 제어 방법 2 : Intent 플래그 이용 
15.3. 액티비티를 위한 다양한 설정 
15.3.1. 키보드 제어 
15.3.2. 다중 창 지원 
15.3.3. Picture In Picture 
15.3.4. 기타 설정 

16 _스레드와 핸들러
16.1. ANR과 스레드-핸들러 
16.1.1. 액티비티 ANR 
16.1.2. ANR 문제 해결방법 
16.1.3. 핸들러 
16.2. AsyncTask와 Looper 
16.2.1. AsyncTask 
16.2.2. Looper 
도전 과제
Mission 1: 카메라 앱 연동 
Mission 2: 구글 기본 앱 연동 

Part 6 상용 앱 수준의 화면을 구상하자
17_Support 라이브러리 활용
17.1. Fragment 
17.1.1. Fragment 이해 
17.1.2. Fragment 작성법 
17.1.3. Fragment 생명주기 
17.1.4. 다양한 Fragment 
17.2. PreferenceFragmentCompat을 이용한 앱 설정 
17.2.1.  
17.2.2. PreferenceFragmentCompat 
17.3. ViewPager 
17.4. RecyclerView 
17.4.1. RecyclerView 소개 
17.4.2. Adapter, ViewHolder 
17.4.3. LayoutManager 
17.4.4. ItemDecoration 

18 _머티리얼 디자인
18.1. NavigationDrawer, NavigationView 
18.1.1. NavigationDrawer 
18.1.2. NavigationView 
18.2. Snackbar, FloatingActionButton, TabLayout 
18.2.1. Snackbar 
18.2.2. FloatingActionButton 
18.2.3. TabLayout 
18.3. Toolbar, AppBarLayout, CoordinationLayout 
18.3.1. Toolbar 
18.3.2. AppBarLayout 
18.3.3. CoordinatorLayout 
18.4. Bottom Sheet 
18.4.1. persistent bottom sheet 
18.4.2. modal bottom sheet 
도전 과제
Mission 1: AppBar, CoordinatorLayout 
Mission 2: NavigationDrawer, NavigationView 
Mission 3: RecyclerView 

Part 7 컴포넌트를 제대로 이해하고 개발하자
19_브로드캐스트 리시버와 알림
19.1. 브로드캐스트 리시버 
19.1.1. 브로드캐스트 리시버 이해 
19.1.2. 브로드캐스트 리시버 작성 방법 
19.1.3. 시스템 브로드캐스트 인텐트 
19.1.4. 백그라운드 서비스 제한 
19.2. 알림 
19.2.1. 알림의 기본 구성 
19.2.2. NotificationChannel 
19.2.3. 기본적인 알림 구성 
19.2.4. 알림의 다양한 구성 

20 _서비스 컴포넌트
20.1. 서비스 기본 개념 
20.1.1. 서비스 작성 방법 
20.1.2. 서비스 생명주기 
20.1.3. 데이터 공유 
20.2. AIDL의 이해 
20.2.1. AIDL 프로그램 구조 
20.2.2. AIDL 작성 방법 
20.3. 인텐트 서비스(IntentService) 
20.4. 시스템 서비스(SystemService) 
20.4.1. ActivityManager 
20.4.2. PackageManager 
20.5. 백그라운드 서비스 제한 

21 _콘텐츠 프로바이더
21.1. 콘텐츠 프로바이더 이해 
21.1.1. 콘텐츠 프로바이더 구조 
21.1.2. 콘텐츠 프로바이더 작성법 
21.1.3. 콘텐츠 프로바이더 이용 
21.2. 구글 기본 앱의 콘텐츠 프로바이더 이용 
21.2.1. 주소록 앱 데이터 획득 
21.2.2. 갤러리 앱 데이터 획득 
21.3. 갤러리 앱 연동과 이미지 이용을 위한 라이브러리 
21.3.1. Glide 라이브러리 
21.3.2. Matisse 라이브러리 
도전 과제
Mission 1: 블로그 앱 에디터 

Part 8 위치 기반 서비스를 제공하자
22_위치 정보 획득
22.1. LocationManager 이용 
22.1.1. 위치 정보 제공자 
22.1.2. 위치 정보 획득 
22.2. Fused Location API 이용 

23 _지도 활용
23.1. 지도 출력 
23.1.1. 구글 지도를 위한 설정 
23.1.2. 구글 지도 화면 출력 
23.2. 구글 지도 제어 
23.2.1. 지도 중심 위치 이동 
23.2.2. GoogleMap 이벤트 처리 
23.2.3. 현재 위치 표시 
23.2.4. 주소와 위경도 변환 
도전 과제
Mission 1: 카카오택시의 출발 위치 조정 
Mission 2: 구글 지도 앱 화면 

Part 9 서버 데이터를 활용하자
24_네트워크 정보 활용
24.1. 다양한 네트워크 정보 활용 
24.1.1. TelephonyManager 
24.1.2. ConnectivityManager 
24.1.3. WifiManager 
24.2. XML, JSON 데이터 파싱 
24.2.1. XML 파싱 
24.2.2. JSON 파싱 

25 _HTTP 통신
25.1. Java API를 이용한 HTTP 통신 
25.2. Volley API를 이용한 HTTP 통신 
25.3. Retrofit2 
25.3.1. Retrofit 이용 준비 및 구조 
25.3.2. Retrofit을 이용한 HTTP 통신 
25.3.3. Retrofit 어노테이션 

26 _실시간 서버 푸시
26.1. 소켓 프로그램 
26.1.1. 소켓 프로그램 작성 방법 
26.1.2. 소켓 프로그램 작성 시 주의점 
26.2. Firebase 클라우드 메시지 
도전 과제
Mission 1: HTTP 통신을 통한 날씨 정보 제공 

Part 10 안드로이드 아키텍처 컴포넌트(AAC)
27_데이터 바인딩
27.1. 제트팩과 AAC 
27.2. 데이터 바인딩 vs ButterKnife vs findViewById 
27.2.1. findViewById( ) 방식 
27.2.2. 의존성 주입 방식 
27.2.3. 데이터 바인딩 방식 
27.3. 데이터 바인딩 기초 
27.4. 다양한 타입의 데이터 바인딩 
27.4.1. 모델 클래스 바인딩 
27.4.2. 리소스 바인딩 
27.4.3. 컬렉션 타입 데이터 바인딩 
27.4.4. 기타 타입 바인딩 
27.5. 이벤트 바인딩 
27.5.1. 함수 참조 이벤트 바인딩 
27.5.2. 리스너 이벤트 바인딩 
27.5.3. 리턴 타입이 void가 아닐 때 이벤트 바인딩 
27.6.  구성요소 
27.6.1.  태그 
27.6.2.  태그 
27.6.3. context 변수 활용 
27.6.4. class 속성 
27.6.5.  태그 
27.7. 바인딩 연산식 
27.8. Observable 모델 
27.8.1. Observable 객체 
27.8.2. ObservableField 
27.8.3. Observable 컬렉션 
27.9. BindingAdapter 

28 _뷰모델과 라이브데이터
28.1. 뷰모델 
28.1.1. AAC와 뷰모델 
28.1.2. ViewModel 활용 
28.2. 라이브데이터 
28.2.1. 라이브데이터와 옵서버 
28.2.2. 커스텀 라이브데이터 
28.2.3. postValue( ) vs setValue( ) 함수 

29 _룸
29.1. 룸이란? 
29.1.1. 룸 아키텍처 
29.1.2. 룸의 기초 이용법 
29.2. 룸 엔티티 
29.2.1. Entity 정의 
29.2.2. 관계 설정 
29.2.3. 컬렉션 타입 데이터 처리 
29.3. DAOs 
29.3.1. DAO 메서드 정의 
29.3.2. 질의문을 이용한 데이터 조회 
29.4. 데이터베이스 스키마 변경 

30 _작업 매니저, 생명주기 기반 컴포넌트, 페이징
30.1. 작업 매니저 
30.1.1. WorkManager 작업 등록 및 실행 
30.1.2. Worker 상태 파악 및 데이터 전달 
30.1.3. OneTimeWorkRequest와 PeriodicWorkRequest 
30.1.4. Constraints를 이용한 실행 조건 명시 
30.1.5. 작업 취소 
30.1.6. 작업 체이닝 
30.2. 생명주기 기반 컴포넌트 
30.2.1. 생명주기 기반 컴포넌트란? 
30.2.2. LifecycleOwner 
30.2.3. LifecycleObserver: 라이브데이터 이용 
30.3. 페이징 
30.3.1. 페이징이란? 
30.3.2. DataSource 
30.3.3. DataSource.Factory & PageListBuilder 
30.3.4. PagedListAdapter 

Part 11 코틀린으로 안드로이드 앱을 개발하자!
31_안드로이드 스튜디오에서 코틀린으로 개발하기
31.1. 코틀린 소개 
31.2. 안드로이드 스튜디오에서 코틀린 개발환경 
31.2.1. 코틀린 프로젝트 생성 
31.2.2. 코틀린 클래스 추가 
31.2.3. 자바 코드를 코틀린 코드로 변환 
31.3. 간단한 코드 분석으로 코틀린 이해하기 

32 _코틀린 기초 작성법
32.1. 코틀린 파일 작성 규칙 
32.1.1. 패키지 정의 
32.1.2. 파일로 작성 
32.2. 기초 타입 
32.2.1. Numbers Type 
32.2.2. String 
32.2.3. Characters, Booleans 
32.2.4. Arrays 
32.2.5. Any 
32.2.6. Nullable과 Null 체크 
32.2.7. 타입 체크 : is 연산자 
32.3. 변수 및 함수 선언 
32.3.1. 변수 선언 
32.3.2. 함수 선언 
32.4. 실행 흐름 제어 
32.4.1. If 표현식 
32.4.2. When 표현식 
32.4.3. For 반복 
32.4.4. While 반복 

33 _코틀린 OOP 프로그램
33.1. 클래스 정의 
33.1.1. 클래스 선언 및 생성 
33.1.2. 생성자 
33.2. 상속 
33.2.1. 상속 관계 명시 
33.2.2. 함수 오버라이딩 
33.2.3. 변수 오버라이딩 
33.3. 추상 클래스와 인터페이스 
33.3.1. 추상 클래스 
33.3.2. 인터페이스 
33.4. 프로퍼티 
33.5. 접근 제한자 
33.5.1. 패키지 접근 제한
33.5.2. 클래스 접근 제한 

34 _코틀린으로 만드는 안드로이드 앱

찾아보기"

관련분야 신착자료