정수형은 변수에 타입을 지정하지 않으면 기본으로 Int로 컴파일 됩니다. (Int의 범위를 벗어나지 않는다면)Int의 범위를 넘어서는 값은 자동으로 Long으로 컴파일 됩니다.또한 숫자 뒤에 명시적으로 L을 붙여서 자료형이 Long임을 나타낼수도 있습니다.실수형은 변수
#kotlin #Kotlin #타입체크 #캐스팅
코틀린에서 if는 expression(식)입니다.(값을 반환하는) 그러므로 삼항 연산자가 존재하지 않습니다. if만으로 그 역할을 충분히 대체할 수 있습니다.if 식은 {}블럭을 가질 수 있고, 블럭의 마지막 줄은 식의 값이 됩니다.if를 식으로써 사용하여 값을 리턴하
코틀린은 세가지 점프 표현식을 가지고 있습니다.return: 기본적으로 return은 가장 가까운 함수 또는 익명함수로부터 반환합니다.break: 가장 가까운 루프를 종료시킵니다.continue: 가장 가까운 루프의 다음 단계로 이동합니다.이 세가지 표현식은 모두 더
코틀린에서 모든 예외 클래스는 Throwable 클래스를 상속받습니다.예외 객체를 던지기 위해서는 throw식을 사용해야 합니다.던져진 예외를 받기 위해서는, try-catch식을 사용해야 합니다. 캐치 블럭을 없을수도 있고, 여러개 존재할 수도 있습니다. finall
코틀린의 타입 시스텀은 널을 참조할 수 있는 가능성을 제거하는데 초점이 맞춰져 있습니다. 많은 프로그래밍 언어들을 사용하는데 가장 흔히 발생하는 에러중에 하나는 NullPointerException 입니다.코틀린에서 NullPointerException이 발생하는 경우
소스파일은 패키지 선언으로 시작될 수 있습니다.소스 안에 선언된 함수나 클래스는 패키지에 포함됩니다. 그래서 위 예제의 함수 printMessage의 실제 풀네임은 org.example.printMessage이고 클래스 Message의 풀네임은 org.example.M
코틀린에서 클래스의 선언은 class 키워드를 사용합니다.클래스는 클래스의 이름, (매개변수, 주 생성자 등을 지정하는)헤더, 중괄호로 둘러쌓인 바디로 이루어져 있습니다. 바디와 헤더는 둘 다 선택적입니다. 만약 바디가 없다면 중괄호는 생략될 수 있습니다.코틀린에서 클
코틀린에서 모든 클래스들은 보편적으로 Any라는 클래스를 super class로 갖고있습니다. Any는 super type이 선언되지 않은 클래스의 디폴트 super class입니다.Any는 equals(), hashCode(), toString() 이렇게 세 가지 메
코틀린에서 인터페이스는 추상 메소드의 선언과 구현을 포함할 수 있습니다.추상클래스와 인터페이스의 차이는 인터페이스는 프로퍼티의 상태를 저장할 수 없다는 것입니다. 즉, 인터페이스에서 프로퍼티를 초기화 할 수 없습니다.인터페이스는 interface 키워드를 사용해서 정의
코틀린에서 클래스를 선언하기 위해서는 class 키워드가 필요합니다. class 키워드 뒤에 클래스의 이름을 적어주면 클래스를 선언할 수 있습니다.이렇게 만들어진 클래스는 빈 클래스입니다. 클래스 내부에 여러가지 프로퍼티와 메서드를 정의하여 다양한 기능을 클래스로 구현
코틀린의 프로퍼티는 자바의 필드와 getter, setter 메서드를 합친 개념입니다.자바에서는 클래스의 멤버 필드와 접근 메서드(getter, setter)를 따로 만들어 줘야 했습니다.자바 방식의 단점은 필드가 추가 될수록 코드가 너무 길어져서 가독성을 떨어뜨린다는
추상 클래스는 선언 등의 대략적인 설계 명세와 공통의 기능을 구현한 클래스를 의미합니다. 인터페이스도 추상 클래스와 같은 역할을 하지만, 둘 사이에는 명확한 차이가 존재합니다.이제부터 어떤 부분이 비슷하고 어떤 부분이 다른지 차근차근 알아봅시다.추상 클래스는 class
Array 클래스는 위와 같은 구조로 이루어져 있습니다.하나씩 차근차근 각 메서드가 무엇을 하는지 알아봅시다.생성자 메서드는 Array 클래스를 생성하는 역할을 합니다. 첫번째 인자로 생성할 배열의 크기를 입력받고, 두번째 인자로는 배열을 초기화 하는데 사용할 함수를
코틀린 Array의 메서드와 확장 함수 파헤치기(2) Array의 확장XXX들.. IDE에서 Array 객체를 생성하고 .을 눌러보면 Array와 관련된 다양한 함수들이 쭈르르륽 나열되는 것을 볼 수 있다. 하지만 이전 시간에 살펴 봤듯이 Array 클래스의 내부
distinct : 배열에서 고유한 요소만을 포함하는 리스트를 반환합니다.distnctBy : 배열에서 selector가 반환하는 고유한 키를 가진 요소만을 포함한 list를 반환합니다.동일한 요소(동일한 키를 갖거나)는 첫번째 요소만 반환 리스트에 포함됩니다.drop
flatMap: 원래 배열의 모든 요소에 대해 transform을 적용한 결과를 하나의 리스트에 담아서 반환합니다.flatMapIndexed: flatMap과 동일하지만 transform 함수에 index 인자가 추가되었습니다.flatten: 이중배열을 풀어서 하나의