
안녕하세요.
코틀린이 그동안 많은 부분이 업데이트 되어 내부의 컴파일러 작동방식이나 문법등이 개선되었는데요.
강좌의 적지 않은 부분이 맞지 않는다고 판단하고 2024년도를 위한 업데이트를 하려고 합니다.
그동안 바쁘다는 핑계로 질문에 대한 답변도 소홀히 했던 것에 대해 사과 드립니다. m( _ _ )m
아직까지 호주 회사에서 모바일 개발을 이어가고 있는데요.
그동안 겪은 개발 이야기도 하면서 재밌게(?) 구성해 보려고 합니다.
사용했던 툴도 많은 부분 바뀌고 있으니 먼저 환경 설정에 대한 부분을 올려드리고
정기적인 업데이트를 계획하고 있으나 개인 일정에 따라 또 달라질 수 있습니다.
그 사이 코틀린 멀티플랫폼(KMP)도 정식화 되었는데요.
그 부분은 다른 강좌를 통해서 만나도록 하겠습니다.
감사합니다!
(강의는 매주 토요일 업데이트 됩니다!)
코틀린을 배우기 앞서 통합개발환경(IDE)에 해당하는 IntelliJ IDEA를 설치해 보겠습니다.
이미 설치하신 분들은 건너뛰어도 무방합니다.
윈도우에서 새롭게 설치하실 분들은 확인하세요!
이어서 맥에서 설치하는 방법을 살펴보죠.
윈도우에서 하실 분은 건너뛰셔도 됩니다.
먼저 배포용 슬라이드를 받아 볼까요?
출간된 Do it! 코틀린 프로그래밍(황영덕 저)에 맞춰서 영상을 새롭게 갱신합니다. 조금씩 갱신하면서 기존의 강의를 대체하고 좀 더 자세하고 정확한 설명을 약속합니다! 기존의 수강생은 그대로 들으실 수 있습니다! (일부 내용은 무료로 유투브에도 게재하고 있으며 여기에는 모든 내용을 게시합니다)
책 참고: http://www.yes24.com/Product/Goods/74035266
이번에는 실습환경을 구축해 보면서 오라클 JDK, OpenJDK, Julu등에 대해 이야기 해 봅니다.
HelloKotlin을 작성해 보면서 IntelliJ IDEA의 사용법과 역컴파일 방법, 일반적인 메모리 구조에 대한 이야기를 합니다.
코틀린에서 프로젝트(Project)는 모듈(Module), 패키지(Package), 파일(File)로 구성되어 있습니다. 코틀린 프로젝트를 여행에 비유하면 모듈은 목적지, 패키지는 여행용 가방, 파일은 패키지 속에 넣은 짐이라고 할 수 있습니다. 당장 변수와 자료형에 대해 알고 싶겠지만 실습을 진행하며 헷갈리지 않도록 코틀린 프로젝트를 이해하는 것이 더 중요합니다. 그러면 지금부터 프로젝트를 구성하는 모듈, 패키지, 파일에 대해 알아보겠습니다.
이번에는 변수와 자료형에 대해 살펴봅니다. 특히 val과 var 로 구분되는 키워드는 읽기 전용 혹은 읽기/쓰기가 가능한 변수를 선언하는데 사용되고 있습니다. 각종 자료형과 함께 선언 방법을 공부해 봅시다.
null과 NPE에 대해 이야기하고 자료형 검사에 대해 알아봅시다. 특히, 세이프콜(Safe-call), 넌-널 단정기호 (!!.), 엘비스 연산자에 대해서 파악해 봅니다.
코틀린의 기본 연산자와 비트 연산자에 대해 알아봅니다.
먼저 배포용 슬라이드를 받아서 둘러 볼까요?
함수 선언 방법과 간단한 호출, 스택의 변화등을 살펴봅니다.
함수형 프로그래밍에서 사용하는 개념을 간단히 설명합니다.
이번 절에서는 예제를 통해 고차 함수와 람다식의 다양한 표현에 대해 살펴봅니다.
고차함수와 람다식을 활용한 사례 두 가지만 간단히 알아보겠습니다.
익명 함수, 인라인 함수, 확장 함수, 꼬리 재귀 함수등에 대해 공부합니다.
최상위, 지역 함수의 범위와 전역, 지역 변수의 범위를 살펴봅니다.
코틀린에서 사용하는 if, when 등의 조건문을 배워봅시다.
for나 while, do~while에 대해 알아봅시다.
for에서는 다른 언어가 가진 세미콜론의 문법을 사용하지 않으니 주의하세요!
05장의 배포용 슬라이드입니다. 꽤 많은 내용이 있으니 정신을 가다듬고 시작해 볼까요?
필요한 내용은 프린트해서 필기하면서 하세요!~
05-1 클래스와 객체의 정의
05-2 생성자
05-3 상속과 다형성
05-4 super와 this의 참조
05-5 정보 은닉 캡슐화
05-6 클래스와 관계
코틀린을 통해서 객체지향 프로그래밍을 하기 위해 첫번째 시간으로 클래스와 객체에 대해 이야기 합니다.
코틀린에서 사용하는 주 생성자와 부 생성자를 정의하는 방법, 초기화 블록을 사용하는 방법등을 설명합니다.
클래스를 상속해 파생클래스를 만드는 방법과 오버로딩, 오버라이딩에 대해 공부합니다.
클래스에서 super와 this를 사용할때 알아두어야할 사항을 정리합니다.
가시성 지시자를 통해서 정보 은닉을 위한 캡슐화에 대해 살펴봅니다. 각 클래스의 접근 범위를 알 수 있습니다.
클래스의 관계에 대해 이야기 합니다. 연관, 의존, 집합, 구성 관계를 통해 클래스를 구성하는 방법을 배우게 됩니다.
클래스의 게터와세터가 포함된 프로퍼티 개념에대해 알아보고 직접 커스텀 게터/세터를 구성하는 방법을 살펴봅니다.
lateinit과 by lazy를 사용한 지연 초기화와 위임에 대해 공부합니다.
정적 혹은 static이라는 것의 의미를 살펴보고 이것을 이용하는 자바와 연동하는 방법에 대해 이야기 합니다.
데이터 전달을 위한 데이터클래스, 클래스안에 클래스가 있는 중첩 클래스, 이너 클래스, 상태관리를 위한 실드 클래스, 열거형 클래스 등을 공부합니다.
배포용 슬라이드 입니다.
제네릭의 개념과 형식 매개변수의 사용, 공변성이나 반공변성 등 제네릭을 사용하기 위한 다양한 개념을 배워봅니다.
Array클래스는 arrayOf() 헬퍼함수를 통해 배열을 생성합니다. 코틀린에서 배열을 구성하는 방법과 원리를 설명합니다.
문자열은 문자의 배열입니다. String의 특징과 StringBuilder, 리터럴에 대해서 살펴봅니다.
'Do it! 코틀린 프로그래밍'을 시작해 볼까요!
온라인 서점에서 'Do it! 코틀린 프로그래밍 / 황영덕 저'으로 검색해 보세요!
본 강좌는 출간된 'Do it! 코틀린 프로그래밍' 기반으로 진행합니다. 첫째마당(01장~04장)은 유투브와 저자의 블로그에 무료로 제공되며 둘째마당 이후(05장~14장)는 유데미 강의에서 만날 수 있습니다! 기존의 수강하신 분들은 그대로 갱신된 버전을 보실 수 있습니다.
강좌 설명:
본 강좌의 전반부 에서는 코틀린의 기본문법과 함수형 프로그래밍, 객체지향 프로그래밍 기법을 먼저 살펴보고 후반부에서는 코틀린의 향상된 특징을 다룹니다. 현대적 언어가 가져야 할 여러가지 향상된 특징을 코틀린을 대거 도입함으로써 여러분들의 코드를 안전하고 획기적으로 단축시킬 수 있습니다. 특히, 기본적으로는 널을 허용하지 않거나 널 처리를 강제 함으로서 프로그램이 중단되는 것을 최대한 방지할 수 있게 됩니다. 따라서, 본 강좌를 통해 이러한 기술을 습득해 활용할 수 있습니다.
또한, 코틀린의 새로운 특징인 코루틴(Coroutine)을 활용하면 복잡한 스레드나 핸들러를 사용하지 않고도 비동기 프로그래밍을 손쉽게 실현할 수 있는 방법을 제시합니다. 마지막으로 안드로이드 확장등을 사용하는 전형적인 안드로이드 프로젝트를 코틀린으로 만들어 봄으로써 코틀린과 안드로이드 프로젝트를 더욱 깊이 이해할 수 있습니다.
그럼 본 강좌에서 만납시다!