일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ruby
- OAuth
- Spring
- JS
- Android
- Baekjoon
- gradle
- error
- plugin
- 루비
- CPP
- gnuplot
- rubymine
- IntelliJ
- kotlin
- OTLanguage
- C
- react
- boj
- Godot
- Python
- 개발노트
- Java
- GitHub
- RaspberryPi
- Vane
- jetbrains
- maven
- ruby2d
- Shell
- Today
- Total
목록kotlin (6)
PersesTitan(페르) 기술블로그
변수 정의 코틀린은 타입추론기능을 지원하기 때문에 바로 변수를 정의할때 타입입력이 필수가 되지는 않습니다. java10에서도 var키워드를 이용하여 타입추론이 가능했지만 일부 제약이 존재하였지만 Kotlin에서는 값을 변수에 바로 초기화 해줄경우 타입 입력이 필수가 되지는 않습니다. var 값이 고정되지 않은 변수를 선언할때 사용하는 키워드입니다. 계속하여 값이 변경이 일어날때 해당 키워드를 이용하여 정의하면 됩니다. var value: Int = 1 value = 2 Java에서 Java10에서 부터 var키워드가 존재하지만 Kotlin에서의 var과 Java에서의 var는 서로 다른 기능입니다. val 값이 고정된 변수를 선언할때 사용하는 키워드입니다. 해당 값을 변경할려고 시도하면 에러가 발생하게 ..
코틀린의 생성자의 순서는 다음 순서대로 진행됩니다. 주 생성자 init 보조 생성자 순서 확인하기 다음 코드를 보시면 init이 실행되고 보조 생성자가 실행된 것을 볼 수 있습니다. class Test { constructor() { println("보조 생성자 실행") } init { println("init 실행") } } fun main() { Test() } // 출력 // init 실행 // 보조 생성자 실행 해당 순서로 인해 발생하는 문제 위 순서로 인해 발생하는 문제는 다음과 같습니다. 보조 생성자에서 값을 초기화 할 경우 init에서 변수를 가져오게 되면 초기화가 되지 않았다고 에러가 발생하는 것이죠. - 해당 코드는 에러가 발생하지 않습니다. class Test { private val ..
인스턴스화 코틀린은 자바에서 사용하는 new 키워드를 사용하지 않는 특징이 존재합니다. 코틀린은 new키워드가 애초에 예약어로 잡혀있지 않은데 new키워드를 사용하지 않고 클래스명에다가 매개변수만 넘겨주면 인스턴스화를 할 수 있습니다. Java Test test = new Test(); Kotlin val test: Test = Test() 주 생성자 (Primary Constructor) 주 생성자는 클래스 명 바로 옆에다가 선언하는데 해당 생성자를 주 생성자라고 부릅니다. 주 생성자는 constructor를 붙쳐 선언하는데 생략이 가능하기도 합니다. 예제 class Test constructor(a: Int, b: String) { } constructor (생략한 경우) class Test(a: I..
public, internal, protected, private이가 존재합니다. 자바와 다르게 kotlin은 접근제어자를 생략했을대 default접근제어자가 아닌 public접근제어자로 설정되어있습니다. kotlin에서는 특이하게 java와 다르게 클래스 밖에도 선언이 가능한 최상위 선언이 따로 존재하기 때문에 어디에 정의하냐에 따라 범위가 다르기도 합니다. public 클래스 내부 선언 최상위 선언 모든 곳에서 접근 가능 모든 곳에서 접근 가능 internal 클래스 내부 선언 최상위 선언 같은 모듈내에서 접근가능 같은 모듈내에서 접근가능 protected 클래스 내부 선언 최상위 선언 하위 클래스에서 사용 가능 사용 불가 private 클래스 내부 선언 최상위 선언 클래스 내부에서만 사용이 가능 같..
코틀린에서는 apply, also, run, with, let라는 범위지정함수를 지원하는데 해당 함수를 사용하여 코드를 간편하게 만들 수 있게 해줍니다. 각 함수 특징 정리 함수명 접근 방식 반환 값 사용처 기타 apply this 수신 객체 객체의 값 변경 also it(지정한 변수명) 수신 객체 apply와 유사 객체 관련 동작실행등에 사용됨 run this 반환 타입 수신 객체를 이용해 값을 반환 with this 반환 타입 run과 동일 단, 수신 객체를 파라미터로 받음 let it(지정한 변수명) 반환 타입 run, with와 동일 null check가 가능 예시로 사용될 클래스 해당글은 TestItem class을 예시로 작성하였습니다. class TestItem { var a: Int = 0..
개발 노트 개발 노트는 코드 및 설명등을 작성하지 않으며 개발하면서 구현에 성공한 동작등을 기록하는 목록입니다. 이전 글에 작성했던 것 처럼 해당 코드는 실제로 운영하는 앱으로 코드 전체공개를 피하고 있습니다. 또한 개발노트이기 때문에 원하시는 정보를 얻을 수 없을 수 있다는 점 참고 해주세요. 갑자기 AsyncTask가 deprecated되어 있어서 급하게 다른 기능으로 대체했어야 됬습니다. RxJava를 사용하거나 코루틴(Coroutine)을 대체하였어야 됬는데 저는 자바가 메인이라서 처음에는 RxJava로 구현할려고 시도하였지만 내용이 생각보다 많아서 급하게 코루틴으로 변경하여 구현했습니다. 다행히 코틀린을 예전에 살짝 건드려봤기 때문에 구현에 성공하였습니다. 코틀린의 장점이 자바와 호환이 된다는 ..