목록언어/Kotlin (7)
굥뷰를 햡시댜
1. Property 선언 코틀린 클래스는 Property를 가질 수 있음( var(mutable) / val(read-only) ) class Address { var name: String = "Kotlin" val city: String = "Seoul" } Property 사용은 자바의 필드를 사용하듯이 하면 됨 fun copyAddress(address: Address): Address { val result = Address() result.name = address.name //... return result } 2. Property 문법 //전체 문법 var [: ] [= 생략 가능한 옵션들 -> PropertyType - property_initializer로 타입을 추론 가능할 경우 생..
1. 상속 Kotlin에서 최상위 클래스는 Any 입니다. 클래스에 상위타입을 선언하지 않으면 Any가 자동으로 상속됩니다. class Example1// Any 자동 상속 class Example2 : Any() // Any라는 클래스를 상속 -> Any자리에 클래스 이름이 들어오면 ok Any는 java.lang.Object와는 다른 클래스 입니다. -> (equals(), hashCode(), toString()만 있음) package kotlin public open class Any { public open operator fun equals(other: Any?): Boolean public open fun hashCode(): Int public open fun toString(): Stri..
1. 클래스 클래스는 class 키워드로 선언 //class, 클래스 이름, 클래스 헤더(형식 매개변수, 기본 생성자 등), 클래스 바디로 구성 class Invoice(data: Int) { } 헤더와 바디는 옵션, 바디가 없으면 {} 생략 가능 class Empty *Kotlin에서는 기본 생성자와 보조생성자가 분리됨 -> 이것들을 좀 잘 알아놔야 합니다!! 2. 기본 생성자(Primary Constructor) 클래스 별로 1개만 가질 수 있음 클래스 헤더의 일부 클래스 이름 뒤에 작성 class Person constructor(firstName: String) { } 어노테이션이나 접근지정자가 없을 때는, 기본생성자의 constructor 키워드를 생략가능 class Person(firstNam..
1. Packages Kotlin에서 소스 파일은 패키지 선언으로 시작됩니다. 모든 콘텐츠(클래스, 함수, ....)는 패키지에 포함됩니다. 패키지를 명세하지 않으면 이름이 없는 기본 패키지에 포함됩니다. -> 따로 import하지 않고 그냥 써도 무방함 package foo.bar fun baz() {} class Goo{} fun main(args: Array) { foo.bar.baz() foo.bar.Goo() } 2. 기본 패키지 package를 import하지 않으면 기본으로 import되는 package가 있습니다. 플랫폼 별로 import되는 package는 다른 부분도 있습니다. //기본으로 import되는 패키지! kotlin.* kotlin.anootation.* kotlin.coll..
1. if else 문 Java와 거의 유사함 ex) 아래와 같이 사용하면 됩니다. var max: Int if(a>b) { max = a } else { max = b } 2. if else 문 if문이 식으로 사용되는 경우 값을 반환함 if식의 경우 반드시 else를 동반해야 함 ex) 아래 코드처럼 if문이 식으로 사용되는 경우 else를 반드시 동반해야 함(+ a, b는 반환되는 값) val max = if(a>b) a else b if식의 branches들이 블록을 가질 수 있음 {...} 블록의 마지막 구문이 반환값이 됨 val max = if(a>b) { print("Choose a") a//반환값 } else { print("Choose b") b//반환값 } 삼항연산자가 없음 -> if문..
1. 기본 타입 Kotlin에서는 모든 것에 멤버함수나 property를 호출 가능하다는 의미에서 모든 타입이 객체입니다. 2. 숫자 Java의 숫자형과 비슷하게 처리됩니다. Kotlin에서 Number는 클래스 입니다. 따라서 Java의 primitive type(기본형)에 직접 접근할 수 없습니다. Java에서 숫자형인 char가 Kotlin에서는 숫자형이 아닙니다.(문자형으로 처리) 3. Literal 10진수 : 123 (Int, Short) Long : 123L Double : 123.5, 123.5e10 Float : 123.5f 2진수 : 0b00001011 8진수 : 미지원 16진수 : 0X0F 4. Underscores in numeric literals ex) Underscore를 사용..
(+ Inflearn -> 새차원님의 Kotlin 강좌를 토대로 공부했습니다.) 1. 패키지 정의 파일 최상단에 정의해야 합니다. 디렉터리와 패키지를 일치시키지 않아도 됩니다. ex) 아래와 같이 선언하시면 됩니다. package my.demo /* ..... */ 2. 함수 정의 함수는 'fun' 키워드로 정의합니다. ex) fun '함수명'('매개변수 이름': '타입', '매개변수 이름': '타입'): '반환형 타입' 순으로 함수를 선언했습니다. fun sum(a: Int, b: Int): Int { return a + b } 함수 몸체가 식(expression)인 경우 return을 생략해서 함수를 작성할 수 있습니다. ex) 몸체가 식인 경우 아래와 같이 함수를 작성하시면 됩니다. 아래와 같이 작..