클래스 코틀린의 클래스는 자바와 매우 유사하지만 자바에는 없는 몇몇 기능들을 제공한다. 데이터 클래스 자료를 구성하는 프로퍼티만 선언하면 컴파일러가 equals(), hashCode(), toString() 함수를 자동으로 생성해준다. 자바에서 흔히 생성하였던 VO 클래스를 코틀린에서는 프로퍼티만 선언함으로써 구현할 수 있다. // 데이터 클래스 선언 data class Person(val name: String, val address: String) private val shin1 = Person("Shin Kwanghee", "Seoul") private val shin2 = Person("Shin Kwanghee", "Seoul") private val shin3 = Person("Shin", "S..
if-else 문 코틀린의 if-else문은 자바와 달리 값을 반환할 수 있다. // 예시 val age : Int = 30 val ageRange : String = if (age >= 10 && age = 30 && age < 30) { "20대" } else { "기타" } 또한 코틀린에서는 삼항연산자를 지원하지 않아 if-else문으로 자바의 삼항연산자를 대체하여 사용할 수 있습니다. // 예시 ## 자바 int number = 30; String str = number % 2 == 0 ? "Even" : "Odd"; ## 코틀린 val number = 30 val str: String = if (number % 2 == 0) "Even" el..
함수 선언 중괄호 안의 코드가 한줄이면 중괄호와 return 키워드 생략 가능 잡플래닛 코드 예) MyProfileExperienceActivity.kt - uiEventObserve fun convertScreenName(name : String) : String { return "HelloWorld $name!" } fun convertScreenName(name : String) : String = "HelloWorld $name!" 반환값이 없는 함수 반환 키워드(Unit)을 생략할 수 있음 Unit vs Void : 자바의 void는 아무것도 반환하지 않지만, Unit은 특수한 객체를 반환한다는 차이점이 존재함 fun onDetailSubItemClick(docUrl: String) : Unit..
변수 선언 Java : 값 자체를 직접 저장하는 원시 타입(int, double 등), 객체의 참조 값을 저장하는 참조 타입(String 등)으로 나뉜다. Kotlin : 모든 타입을 객체로 표현하기 때문에 원시타입과 래퍼 클래스를 구분하지 않는다. val로 변수를 선언해놓고 변경해야 할 때 var로 바꾸는 방법을 권장(오류 발생 확률을 낮출 수 있음) val value = "" var variable = 0L 기본 자료형 자바와는 달리 코틀린은 모든 타입을 객체로 표현하기 때문에 타입체크를 해야 한다. 숫자 타입들간에는 묵시적 변환을 지원하지 않아 toInt(), toFloat(), toDouble()과 같이 명시적으로 타입을 변환해야 한다. // String -> Int val yearString =..
1. 컬렉션 - JVM을 기반으로 하는 코틀린에서의 컬렉션은 자바에서 제공하는 클래스들을 그대로 사용합니다. Java Kotlin java.util.ArrayList kotlin.collections.ArrayList java.util.HashMap kotlin.collections.HashMap java.util.HashSet kotlin.collections.HashSet java.util.LinkedHashMap kotlin.collections.LinkedHashMap java.util.LinkedHashSet kotlin.collections.LinkedHashSet java.util.RandomAccess kotlin.collections.RandomAccess java.util.SortedS..
1. 숫자 const val decValue: Int = 100 // 10진수 표기 const val hexValue: Int = 0x100 // 16진수 표기 const val binaryValue: Int = 0b100 // 2진수 표기 const val longValue: Long = 100L // Long 타입 const val doubleValue: Double = 100.1 // Double 타입 const val floatValue: Float = 100.0f // Float 타입 const val andValue: Int = (6 and 5) // 비트 연산 AND(논리곱) const val orValue: Int = (6 or 5) // 비트 연산 OR(논리합) const val xorV..
1. 기본 자료형 - 자바 : 값 자체를 직접 저장하는 원시 타입(int, double 등), 객체의 참조 값을 저장하는 참조 타입(String 등)으로 나뉩니다. - 코틀린 : 모든 타입을 객체로 표현하기 때문에 원시타입과 래퍼 클래스를 구분하지 않습니다. Java(원시 타입) Java(래퍼) 코틀린 byte java.lang.Byte kotlin.Byte short java.lang.Short kotlin.Short int java.lang.Integer kotlin.Int long java.lang.Long kotlin.Long char java.lang.Character kotlin.Char float java.lang.Float kotlin.Float double java.lang.Double ..
1. 클래스 및 인터페이스 // Kotlin Class 선언 class Foo { val foo : String = "foo" fun foo() { } }// Kotlin Interface 선언 interface Bar { fun bar() } - 클래스와 인터페이스는 본체 없이 선언하는것이 가능합니다. // 클래스, 인터페이스를 본체 없이 선언 class Foo interface Bar - 자바와는 다르게 클래스의 인스턴스를 생성할때 new 키워드를 사용하지 않습니다.val foo : Foo = Foo() // new 키워드 생략 val bar : Bar = Bar(1) // 인자 하나를 받는 생성자로 인스턴스 생성 - 추상 클래스 선언// 추상 클래스 선언 abstract class Foo { abs..
- Total
- Today
- Yesterday
- 1237
- a^b
- Eclipse
- 큰 수 A+B
- 2743
- 1158
- 단어 길이 재기
- constraintlayout
- 피보나치 수 4
- GCD 합
- OpenCV
- javacv
- 자동타입
- kotlin
- #android #motionlayout
- algorithm
- 최대공약수와 최소공배수
- 10828
- 영상처리
- #kotlin
- algorihtm
- 10827
- 알고리즘
- 10757
- 조세퍼스 문제
- mssql
- 함수형사고 Kotlin Java
- 1260
- 문자열
- 10826
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |