세상을 더 편리하게
article thumbnail
[Kotlin/코틀린] 제곱과 제곱근
Programming/Kotlin 2020. 10. 15. 22:59

1. 제곱근 코틀린에서의 제곱근은 간단하게 사용 할 수 있다. import kotlin.math.* val a = sqrt( Float or Double ) 2. 제곱 제곱근은 알아서 Float 이나 Double 을 사용해야 한다고 알려주지만 제곱근 Int형에 메소드를 찾아보면 나오지 않는다. 제곱근은 반드시 Float 혹은 Double 의 메소드인걸 잊지 말자 val a : Float = (5.0).pow(2) // = 5^2 = 25

[Kotlin] 제네릭 / Generic
Programming/Kotlin 2020. 3. 19. 04:56

제네릭은 클래수 내부에서 사용할 자료형을 나중에 인스턴스를 생성할 때 확정합니다. 다시 말해 어떤 자료형이 올지 모를 때 객체를 생성할 때 자료형을 정할 수 있습니다. class Box(t: T) { var name = t } fun main() { val box1: Box = Box(1) val box2: Box = Box("택배상자") println(box1.name) println(box2.name) } /* 1 택배상자 */ 위의 코드블럭처럼 자신이 원하는 자료형으로 인스턴스를 생성할 때 마다 만들 수 있다. ※ T = Type 을 뜻하는 단어의 약자입니다. 더보기 E = Element K = Key N = Number T = Type V = Value 자료형 일반 open class Parent..

[Kotlin] 연산자 오버로딩
Programming/Kotlin 2020. 3. 18. 16:28

연산자 오버로딩 전에 연산자 오버로딩을 알아보기전에 연산자가 작동하는 시스템에 대해 알아볼 필요가 있다. 모든 연산자는 매소드를 통해서 작동한다. 3 + 4 라는 연산을 한다고 하자. 하지만 프로그래밍상에는 3.plus(4) 라는 매소드가 작동하는 것이다. 그렇기에 연산자는 모두 매소드 형태로 작동됨을 인지해야 연산자 오버로딩을 이해하는데 편리하다. 산술 연산자 class Print(var usedPage: Int, var ink: Double) { operator fun plus(p: Print): Print { return Print(this.usedPage + p.usedPage, this.ink + p.ink) } override fun toString(): String { return "used..

[Kotlin] 내부 클래스(2)
Programming/Kotlin 2020. 3. 18. 05:15

실드 클래스 ( Sealed Class ) 실드 클래스는 다음과 같은 특성을 지닌다. 추상클래스와 같기 때문에 객체를 생성할 수 없다 생성자는 private 이여야만 한다. 실드 클래스는 같은 파일 안에서만 상속이 가능하다. 블록 안에 선언되는 클래스는 상속이 필요한 경우 open 키워드로 선언될 수 있다. sealed class Result { open class Success(val message: String) : Result() class Error(val code: Int, val message: String) : Result() } class Status : Result() class Inside : Result.Success("Status") fun eval(result: Result): S..