Intelllij IDEA(Android Strudio의 모체)로 유명한 JetBrains에서 개발하고 보급Google IO 2017에서 Android 공식 언어로 추가 발표변수는 Nullable(널 값 사용 가능)과 NotNull로 나뉘는데 변수 선언 시 ‘?’를 붙
종류산술, 대입, 증가, 감소, 비교, 논리 연산자 등산술 연산자사칙연산에 사용되는 사칙연산자와 나머지 연산자를 산술 연산자‘+’ : 덧셈, ‘ - ‘ : 뺄셈, ‘ \* ’ : 곱셈, ‘ / ‘ : 나눗셈, ‘ % ‘ : 나머지대입 연산자대입 연산자는 변수에 값을 할
형식실행할 문장이 한 줄이면 블록을 생략 가능.자바와 달리 if문이 값 반환 가능.자바에서의 switch문에 대응값이 하나인 경우 콤마나 in 연산자로 값의 범위를 자유롭게 지정하고 싶을 때 사용코드를 작성할 때 블록으로 코드를 감쌀 수도 있고, 안 할 수도 있음els
일반 함수 선언과 간략화 표현람다 표현식람다 함수는 프로그래밍 언어에서 익명 함수를 뜻함람다의 형태람다는 fun과 함수 이름을 명시하지 않고 축약형으로 선언{매개변수 → 함수 내용}람다 규칙람다 함수는 항상 { }으로 감싸서 표현{ } 안에 ‘→ ‘표시가 있으며 ‘→’
객체 지향 프로그래밍절차적 프로그래밍의 한계를 극복하고자 나온 한 가지의 방법론객체 간 상호작용으로서 표현하는 프로그래밍객체의 관계를 표현하고 이를 통해 확장과 재사용이 용이자바, 코틀린에서는 OOP를 지원클래스(Class)대상들을 분류하고 특징(속성)과 동작(함수)을
모든 클래스는 Any의 하위 클래스이며, 기본적으로 상속 줄 수 없는 final class로 만들어짐java와 반대로 기본이 final class로 선언(상속 불가)파생 클래스를 허용하려면 open 키워드를 사용하여 상속 가능한 상태로 선언해야 함extends 키워드
상속 받을 클래스에서 구현해야 할 프로퍼티 및 메서드를 기술한 클래스abstract 키워드와 함께 선언하며 추상 클래스는 객체 생성 불가상속을 주기 위해서는 open 키워드를 선언해야 하는데 abstract class는 open이 기본적으로 적용됨java와 달리 추상
매개 변수나 함수의 반환 값으로 함수가 사용되는 함수코틀린에서는 람다나 함수 참조를 사용해 함수를 변수에 넘길 수도 있고 그 자체가 값이 되기도 함다른 함수를 인자로 사용하거나 함수를 결과값으로 반환하는 함수highOrderFunction파라미터(Int, Int) →