버전은 적합한걸로 다운
val로 선언한 변수한 번 초기화 후 변경 불가var 변수는 수정 가능변수의 타입을 대입되는 데이터의 타입에서 추론변수 선언 시 데이터 타입 지정 생략 가능val은 진정한 상수가 아님const 키워드를 통해 상수 선언
in 00..100
1. 함수의 구조 2. 함수 헤더 3. 인자 추가 4. 인자의 기본값
이름이 없는 함수변수에 대입하여, 변수를 함수로 이용주로 매개변수/ 반환 값으로 바로 전달할 때 사용람다 함수 형태를 주로사용 {매개변수 -> 함수 본체}함수 본체의 마지막 라인이 표현식인 경우 그 값을 리턴 값으로 처리함수를 변수에 대입하려면 해당 함수를 나타내는
어플리케이션의 오류 중 많은 부분이 null로 인한 크래시변수가 null을 허용하는지(null 가능)허용하지 않는지(null 불가능) 지정디폴트로 허용하지 않으미변수 선선 시 타입 뒤에 ? 지정 \- null 가능 타입 public fun reaLine(): Str
until 키워드범위를 지정상한값은 포함되지 않음0 .. (indexofApostrohe-1)특정 문자열을 기준으로 단어를 짤라 리스트에 담아 리턴fun main(args: Array) { placeOrder("shandy,Dragon's Breath,5.91")}pr
정수타입Byte:1Short: 2Int: 4Long: 64실수 타입Float 32Double 64toFloat()toDouble()toDoubleOrNulltoInt()toIntOrNull()toLong()toBigDecimal()예외발생 ex: "5.12".toInt
List/MutableList: 중복을 허용Set/MutableSet: 중복을 허용하지 않음Map/MutableMap: 키와 값의 쌍으로 관리listOf(값...)읽기 전용요소 사용인덱스 유효범위와 안전한 인덱스사용, 잘못된 인덱스 사용 시 예외 발생인덱스가 유효하지
C++의 맵과 유사, 키와 키에 대응되는 value가 있다.mapOf<K, T>mutableMapOf<K, T>
Property: val(inmutable), var(mutable)코틀린에서는 클래스 내에서 직접적으로 Fields에 대해 선언할 수 없으나 프로퍼티가 Backing field를 필요로 할 때 자동으로 Accessor 메소드 안에서 참조할 수 있도록 field라는 식
생성자의 매개변수와 클래스의 프로퍼티가 이름이 겹칠 경우, 구분을 위해 생성자의 매개변수 이름 앞에 언더스코어(\_)를 붙이는 관례가 있습니다.기본 생성자 속성 정의생성자에 대한 오버로드 지원constructor 이름으로 정의 \- this로 다른 생성자 호출인자가
부모 클래스에서 사용open class: 상속을 허용open fun 오버라이드를 허용 class TownSqure : Room("Town Square")부모 클래스의 open 함수가 대상자식 클래스는 override 키워드 오버라이딩을 명시가시성super: 클래스 상
싱글톤을 만들 때 사용class 키워드 없이 클래스 정의자동으로 인스턴스화 됨클래스명으로 접근익명 객체/익명 구현 객체를 만들 때 사용최상위 수준에서는 사용할 수 없음내부 클래스로서 정의자체적으로는 클래스 명을 가지지 않음하나의 클래스에는 하나의 동반 객체만 정의 가능
추상 함수: 시그니처만 선언하고 몸체의 구현코드가 없는 함수인터페이스: 속성명, 추상 함수로 구성됨 인스턴스화 할 수 없음
코틀린에서는 클래스 안의 널이 될 우 없는 프로퍼티를 생산자 안에서 초기화하지 않고 특별한 메서드 안에서 초기화 할 수 없다.코틀린에서는 일반적으로 생성자에서 모든 프로퍼티를 초기화해야함프로퍼티 타입이 널이 될 수 없는 타입이라면 반드시 널이 아닌 값으로 프로퍼티를 초
enum이 무엇인지 enum class엔 무엇이 정의되는지 언제 쓰면 좋은지 알아보자. 그다음 kotlin의 sealed class를 알아보고 enum과 비교해보자.enum: enumerated type의 줄임말로 열거형이라고 부려머, 컴퓨터 프로그래밍에서 열거형은 요
개요kotlin의 sealed class를 학습하던 중 대수적 데이터 타입을 표현하기에 적합하다는 말을 보았다. 대수란 무엇인가 알아보고 대수적 데이터 타입에 대해 알아보자대수란변수, 숫자, 연산자 간의 관계를 연구하는 학문대수학에서 주로 다루는 수. 대수적 수라고도
abstract란abstract: 추상 abstract class: 자식클래스에서 반드시 오버라이딩 해야만 사용할수 있는 메소드를 의미객체 지향 프로그래밍 언어에서 중요한 개념클래스나 메서드에 사용되며, 구체적인 구현을 제공하지 않아도 되지만, 이를 상속 받는 하위 클
Annotation, 상속 만들어놓은 것을 가져와 사용하는것이다. 무엇을 가져와 어떻게 사용하는지에서 차이가 나는 듯 하다. 정확히 알고 가자.메타데이터(부가기능)을 코드에 비침투적으로 추가할 수단메타데이터: 데이터에 대한 데이터(강아지가 포유류라는 것, 강아지는 네발