일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- Adapter 패턴
- ingress
- Kotlin
- kubernetes
- 자바
- 헬름
- 익명클래스
- 마이크로서비스
- MySQL
- cloud native
- Stress test
- decorator 패턴
- Spring
- spring microservice
- 코틀린
- Microservice
- nGrinder
- 클라우드 네이티브
- 동기화
- cloud native java
- ansible
- Algorithm
- 머신러닝
- CRD
- MSA
- Semaphore
- devops
- 클라우드 네이티브 자바
- 쿠버네티스
- Today
- Total
목록Kotlin (11)
카샤의 만개시기
코틀린에서는 데이터와 관계 없이 특수 상황을 표현하기 위하여 Unit과 Nothing이라는 타입을 제공합니다. Unit Unit은 자바에서 void에 해당하는 예약어로써 아무것도 반환하지 않는 것을 의미합니다. 또한 Unit 예약어는 아래와 같이 생략이 가능합니다. fun func1() {} fun func2(): Unit {}자바에서 void는 존재하지 않음을 뜻하지만 코틀린에서 Unit은 아무것도 반환하지 않는 타입을 의미하기 때문에 약간의 차이가 있습니다. 자바에서 void 타입을 출력 할 수 없지만, 코틀린에서는 Unit이라는 타입은 출력이 가능합니다. val myVal: Unit = Unit fun main(args: Array) { println(myVal) } 출력결과 kotlin.Unit제..
Java에서 재귀함수를 사용하게되면 함수가 함수를 호출하면서 콜스택이 계속 적재되어 stack overflow 현상이 일어나기도 하고, 콜 스택 생성에 따른 성능 저하를 경험하기도 합니다. 꼬리 재귀 재귀 함수를 구현할 때 마지막(Tail)에 자기 자신을 호출(Recursion)하는 형태의 함수 kotlin에서 꼬리 재귀를 사용하게 되면 자바에서 있었던 이런 문제들을 해결할 수 있으며 적절하지 않은 코드가 작성이 되었을때 warning도 받을 수 있습니다. 다음과 같은 재귀함수를 작성하였고, 함수의 앞 부분에는 tailrec 예약어를 붙였습니다. tailrec fun tailrecPrint(no: Int = 1, count: Int = 1) { println("tailrecPrint") return if..
코틀린은 null 처리가 매우 엄격한데, null이 사용되지 않는 프로퍼티에 초기화 시점을 미룸으로써 null 허용으로 선언할 필요가 없습니다. lateinit class User { lateinit var lateData: String } fun main(args: Array) { val user = User() user.lateData = "hello world" println(user.lateData) } 실행결과 hello world사용 규칙 var로 선언한 프로퍼티에만 사용할 수 있다. 클래스 몸체에 선언한 프로퍼티에만 사용할 수 있다. 주 생성자에는 사용할 수 없다. 사용자 정의 getter/setter를 사용하지 않은 프로퍼티에만 사용할 수 있다. null 허용 프로퍼티에는 사용할 수 없다...