
자바와 마찬가지로 코틀린도 정적 타입 지정 언어이다. 정적 타입 지정 언어란? 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 객체의 필드(fleld)나 메소드(method)를 사용할 때마다 컴파일러가 타입을 검증해준다는 뜻 코틀린은 타입

기본 요소 : 함수와 변수 Hello, World! 함수를 선언할 때 fun 키워드 사용 파라미터 이름 뒤에 그 파라미터의 타입을 쓴다. 함수 최상위 수준 정의 가능 배열도 일반적인 클래스로 취급 (자바의 int[] 같은 함수 없음) 여러가지 표준 자바 라이브러리 함수

함수를 호출하기 쉽게 만들기 이름 붙인 인자 (Named arguments) 인자로 전달한 각 문자열이 어떤 역할을 하는지 명시적으로 적을 수 있다. 디폴트 파라미터 값 코틀린에서는 함수 선언에서 파라미터의 디폴트 값을 지정할 수 있다. 디폴트 값과 자바 자바에는

클래스 계층 정의 코틀린 인터페이스 코틀린 인터페이스 안에는 추상 메소드뿐 아니라 구현이 있는 메소드도 정의할 수 있다. 단, 인터페이스에는 아무런 상태(필드)도 들어갈 수 없다. showOff 메소드를 정의하는 다른 인터페이스가 있으면 어떻게 될까? 이름과 시그니

람다 식 또는 람다는 기본적으로 다른 함수에 넘길 수 있는 작은 코드 조각을 뜻한다. 람다 식과 멤버 참조 람다와 컬렉션 람다를 사용해 컬렉션 검사하기 maxBy는 가장 큰 원소를 찾기 위해 비교에 사용할 값을 돌려주는 함수를 인자로 받는다. 중괄호로 둘러싸인 코드

널 가능성 널이 될 수 있는지 여부를 타입 시스템에 추가함으로써 컴파일러가 여러 가지 오류를 컴파일 시 미리 감지해서 실행 시점에 발생할 수 있는 예외의 가능성을 줄일 수 있다. 널이 될 수 있는 타입 널이 될 수 있는 변수에 대한 메소드를 호출하면 NullPoint

산술 연산자 오버로딩 이항 산술 연산 오버로딩 연산자를 오버로딩하는 함수 앞에는 꼭 operator가 있어야한다. operator를 plus 앞에 붙임으로써 + 기호를 오버라이딩했다. 연산자를 확장 함수로도 정의할 수 있다. |식|함수 이름| |--|--| | a