![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/MJk7V/btqxbes3KZz/viYgPxWhklvxEvYgT2x1ik/img.png)
추상 클래스와 추상 메소드 추상 함수 추상 메소드(Abstract Method)는 미완성 함수 혹은 실행 영역이 없는 함수를 의미합니다. 메소드는 선언부와 실행부 2가지가 존재하는데 추상 메소드는 실행부가 없는 형태를 띄고 있습니다. 추상 메소드(Abstract Method)를 포함하는 클래스는 반드시 추상 클래스(Abstract Class)가 됩니다. 1 2 3 4 5 6 abstract class AbstractTest1 { fun myFun1() { //.... } abstract fun myFun2() } cs abstract는 클래스 선언부에 존재하고 있습니다. 그리고 abstract라는 예약어(Keyword)는 클래스 내부에서만 사용할 수 있습니다. 또한 클래스 내부에 선언된 메소드에서만 사용..
2019-07-28 Kotlin 상속 (Kotlin Override) - 1 2019-07-28 Kotlin 상속 (Kotlin Override) - 2 이전 글에 이어서 진행합니다. 아직 학습을 못하신 분들은 위 링크를 따라 들어가서 학습을 하신 후 다시 오시기 바랍니다. 이번 포스트에서는 Kotlin 언어에서의 접근 제한자에 대해 알아보도록 하겠습니다. public class User { public constructor() {} public val name: String = "KIM" public fun myFun() { } } 코틀린에서 제공하는 Access Modifier에는 4가지가 있습니다. public, internal, protected, private 접근 제한자의 접근 제한 범위 최상..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DMA7m/btqw8CNalzM/jBYngPqXmsdf2bGUUVTCIK/img.png)
2019-07-28 Kotlin 상속 (kotlin Override) -1 이전 글에 이어서 진행합니다. 아직 학습을 못하신 분들은 위 링크를 눌러 학습을 하고 오시기 바랍니다. 상위 클래스의 멤버 접근 오버라이드를 통해 재정의한 멤버가 있어도 때로는 상위 클래스에 정의한 멤버도 함께 이용해야 하는 경우가 있습니다. 이럴 때 super라는 Keyword(예약어)를 사용합니다. open class Super { open var x: Int = 0 open fun someFun() { println("Super... someFun()") } } class Sub : Super() { override var x: Int = 20 override fun someFun() { super.someFun() prin..
이번 포스트에서는 Kotlin에서 상속을 구현하는 방법에 대해 정리해보려고 합니다. 상속은 Java에서도 마찬가지로 객체 지향에서 가장 중요한 개념 중 하나입니다. Kotlin에서의 상속은 Java에서의 상속과 거의 비슷하나, 생성자 관계, 상속에 의한 캐스팅 부분에서 약간의 차이를 보이고 있습니다. Kotlin에서의 상속 Any 클래스 상속 : 클래스를 선언할 때 다른 상위 클래스를 참조해 작성하는 개념 일반적으로 Kotlin에서 클래스를 선언하면 Any 클래스를 상속받게 됩니다. (우리가 굳이 작성하지 않아도 자동으로 Any 클래스를 상속받도록 되어 있습니다.) 왜냐하면 Kotlin의 모든 클래스는 Any 클래스의 서브 클래스이기 때문이죠. Any 클래스는 자바에서 Object 클래스와는 다릅니다. ..
1. Kotlin에서는 Java와 같이 int와 Integer같은 Primitive Type, ObjectType이 구분되어 있을까? 답: 구분되어 있지 않으며 모두 Object Type이다. 2. Kotlin에서는 논리 연산자를 어떤 것을 지원할까? 답: 코틀린은 자바와 달리 &, | 연산자를 지원하지 않는다. 오로지 &&와 ||만 지원한다. 3. Kotlin에서는 비트연산자를 지원할까? 답: 지원하지 않는다. 코틀린에서는 Primitive Type 역시 객체이기 때문에 연산자 함수로써 연산을 제공하며 비트연산 함수가 존재할 뿐이다. 4. 코틀린에서는 파일명과 동일한 public 클래스 사용을 강제할까? 답: NO, 코틀린에서는 자바와 달리 파일명과 동일한 public class 사용을 강제하지 않는다.
연산자 재정의란? 코틀린에서는 사용자가 연산자들을 재정의해서 사용할 수도 있다. 연산자 재정의는 개발자가 원하는 특정 연산을 수행하도록 연산자를 다시 정의하는 것을 말한다. 예를 들어 +는 더하기를 하는 연산이지만, 재정의를 통해 +를 빼기 연산을 하도록 재정의할 수 있다. 연산자 재정의는 함수를 재정의함으로써 이루어진다. 그 이유는 무엇일까? +가 plus()함수, -가 minus() 등의 연산을 수행하는 함수가 존재하기 때문이다. 예를 들어 +라는 연산을 수행하는 plus함수를 사용한 코드이다. fun main() { val a: Int = 10 val b: Int = 5 val result1: Int = a + b val result2: Int = a.plus(b) println("result1 :..
전개 연산자 전개 연산자는 배열 데이터를 단순 나열할 때 사용한다. *A 의 의미 : A 배열의 데이터를 나열한다. *기호는 흔히 곱하기 연산자이다. 그런데 Kotlin에서 * 기호는 곱하기 이외에 전개 연산자(Spread Operator)로도 사용된다. 전개 연산자는 배열값을 나열할 때 사용한다. 아래 예시 코드를 보자. import java.util.Arrays.asList fun main(args: Array) { val array = arrayOf(10, 20, 30) val list = asList(1, 2, array[0], array[1], array[2], 100, 200) list.forEach{print(it)} } 위에서 배열의 크기는 3이므로 3개의 데이터를 직접 추가하였다. 하지만..
JAVA로 Android 개발 시 종종 등장했던 Singleton을 Kotlin에서 사용하는 간단한 예제를 소개하고자 한다. JAVA에서는 보통 다음과 같이 Singleton을 구현했었다.public class Singleton { private static Singleton singleton; private Singleton() { } public Singleton getInstance() { if(singleton == null) singleton = new Singleton(); return singleton; } }Kotlin에서는 아래와 같이 object를 사용하여 간단하게 Singleton을 하나 만들어 보았다. object KotlinSingleton { val value: String = ..
- Total
- Today
- Yesterday
- 알고리즘
- Reactive programming
- Swift
- 안드로이드
- watchos
- 애플워치
- Rxjava
- SwiftUI
- 함수형프로그래밍
- Notissu
- 함수형
- android
- Auto Layout
- XCode
- 오토레이아웃
- java
- C++
- 스위프트
- Elliotable
- Kotlin
- retrofit
- CloudComputing
- apple
- 상속
- Apple Watch
- 아이폰
- databinding
- ios
- 코틀린
- 컬렉션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |