/KotlinPractice

코틀린 200제

Primary LanguageKotlin

초보자를 위한 코틀린 200제

코틀린 기본 문법 공부를 위한 공간입니다 :)

  • 표현식
  • 변수
  • 리터럴의 타입
  • 산술 연산자
  • 증감 연산자
  • 비트 연산자
  • 정수 타입과 실수 타입
  • 문자 타입
  • 문자열
  • 문자열 안에 표현식의 값을 집어넣기
  • 타입 별명(typealias)
  • 주석
  • 배정 연산자
  • 문장
  • 비교 연산자
  • 논리 연산자
  • 흐름 제어 - 조건문 if
  • 흐름 제어 - 조건문 if-else
  • if와 else의 중첩
  • 흐름 제어 - 조건문 when
  • when을 표현식으로 사용하기
  • 흐름 제어 - 반복문 while
  • 흐름 제어 - 반복문 do-while
  • 흐름 제어 continue
  • 흐름 제어 break
  • 레이블(Label)
  • 함수(Function)
  • 매개변수와 인수
  • Unit 타입
  • 디폴트 인수
  • 가변 인수
  • 함수 오버로딩
  • 지역 변수와 전역변수
  • 지역 변수와 전역변수의 이름이 중복될 때
  • 지역 함수
  • 메모리의 스택(Stack) 영역
  • 소스 파일 여러 개로 분리하기
  • 패키지(Package)
  • 다른 패키지의 함수 호출하기(import)
  • 객체
  • 메모리의 힙(Heap) 영역
  • 클래스
  • 힙 영역의 존재 이유
  • 문자열간 + 연산시 주의점
  • 가비지 컬렉션
  • ===, !== 연산자
  • 멤버 함수
  • 프로퍼티와 멤버 함수의 이름이 중복될 때
  • 생성자와 초기화 블록
  • init 블록 나누어 쓰기
  • 생성자와 프로퍼티 한번에 쓰기
  • 보조 생성자
  • 프로퍼티와 Getter/Setter
  • 연산자 오버로딩
  • 번호 붙은 접근 연산자
  • 호출 연산자
  • in 연산자
  • 멤버 함수의 중위 표기법
  • 상속
  • 업캐스팅
  • 오버라이딩
  • 프로퍼티를 오버라이딩하기
  • 다형성의 활용
  • 클래스를 상속하는 객체
  • Any 클래스
  • 예외
  • 예외 처리
  • 예외 던지기
  • Nothing 타입
  • Nullable 타입과 null
  • 안전한 호출 연산자 ?.
  • Not-null 단정 연산자 !!
  • 엘비스 연산자 ?:
  • 스마트 캐스팅
  • is 연산자
  • as 연산자와 다운캐스팅
  • 접근 지정자
  • 접근 지정자: private
  • 접근 지정자: protected
  • 접근 지정자 오버라이딩
  • 확장 함수
  • 확장 프로퍼티
  • 객체 선언
  • 동반자 객체
  • inline 함수
  • const
  • lateinit
  • Nullable 리시버
  • 동반자 객체의 확장 함수
  • 확장 함수의 리시버 타입이 상속 관계에 있을 때
  • 추상 클래스
  • 인터페이스
  • 다이아몬드 문제
  • 중첩 클래스
  • 내부 클래스
  • 데이터 클래스
  • 객체 분해하기
  • 함수 리터럴과 람다식
  • 익명 함수
  • it 식별자
  • 함수 참조
  • 고차 함수
  • 클로저
  • 리시버가 붙은 함수 리터럴
  • 제네릭
  • 여러 타입을 인수로 받기
  • 구체화된 타입 매개변수
  • 클래스와 인터페이스에서 제네릭 사용하기
  • 제네릭이 적용된 클래스/인터페이스 상속.구현하기
  • 특정 타입을 상속.구현하는 타입만 인수로 받기
  • in/out 키워드
  • .. 연산자와 범위 표현식
  • 반복자(Iterator)
  • 흐름 제어 - 반복문 for
  • 배열(Array)
  • 배열을 가변 인수로 활용하기
  • 열거 클래스
  • 열거 클래스에 프로퍼티와 멤버 함수 선언하기
  • 열거 클래스 활용하기
  • sealed 클래스
  • 위임된 프로퍼티
  • 클래스 위임
  • Pair 클래스: 두 변수를 하나로 묶기
  • to 확장 함수: 두 값을 간다히 Pair로 묶기
  • Triple 클래스: 세 변수를 하나로 묶기
  • Comparable 인터페이스: 클래스를 비교 가능하게 만들기
  • ClosedRange 인터페이스: 닫힌 구간을 표현하는 인터페이스
  • Iterable 인터페이스: 클래스가 반복자를 지원하도록 하기
  • Progression과 관련된 함수
  • 코틀린의 컬렉션
  • Collection 인터페이스 살펴보기
  • List 인터페이스 살펴보기
  • ListIterator 인터페이스 살펴보기
  • Map 인터페이스 살펴보기
  • 변경할 수 있는(Mutable) 컬렉션
  • MutableIterator 인터페이스 살펴보기
  • MutableList 인터페이스 살펴보기
  • MutableListIterator 인터페이스 살펴보기
  • MutableSet 인터페이스 살펴보기
  • MutableMap 인터페이스 살펴보기
  • Sequence 인터페이스 살펴보기
  • 컬렌션 원소 타입 변환하기
  • 컬렉션 중 원하는 원소 걸러내기
  • 컬렉션 정렬하기
  • CharSequence 인터페이스