일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가장 큰 수
- 알고리즘
- 스택/큐
- 프로그래머스
- 스프링 스케쥴러
- 쿠버네티스
- 루씬 인 액션
- 고차원 함수
- 롬복 어노테이션
- 영속 자료구조
- @EnableScheduling
- H-index
- K번째수
- @Getter
- 정렬
- 검색 기능 확장
- 전화번호 목록
- @Setter
- @Data
- 기능개발
- 다리를 지나는 트럭
- 완주하지 못한 선수
- Java
- kubenetes
- @configuration
- 해시
- 코딩 테스트
- 커링
- 모던 자바 인 액션
- 크론 표현식
- Today
- Total
목록전체 글 (140)
Today I Learned

코틀린은 함수나 메소드가 null을 받거나 리턴할 수 있는지 명확하게 표현되며, 그 시점도 알 수 있다. 참조가 null이 될 수 있다면 참조하고 있는 객체의 속성이나 메소드를 사용할 땐 언제나 null 체크를 하도록 강제한다. Any와 Nothing 클래스 코틀린의 모든 클래스는 Java의 Object 클래스처럼 Any 클래스에 상속을 받는다. Any 클래스는 코틀린의 모든 클래스에서 사용 가능한 유용한 메소드를 포함하고 있다. Nothing 클래스는 함수가 아무것도 리턴하지 않을 경우에 리턴하는 클래스이다. 베이스 클래스 Any 함수가 여러 타입의 객체를 파라미터로 받는다면, 함수의 파라미터를 Any로 설정해 놓으면 된다. 함수에서 특정 타입을 리턴하기 난감하다면 Any를 리턴하면 된다. Any 클래..

콜렉션의 특징 코틀린이 제공하는 편리한 메소드들 kotiln.collections 패키지에 유용한 함수들이 많이 추가되었다. 예를들어 withIndex() 메소드를 사용하면 인덱스와 값 모두를 편하게 얻을 수 있다. val names = listOf("Tom", "Jerry") println(names.javaClass) for ((index, value) in names.withIndex()) { println("$index $value") } 뷰 Java에서 이뮤터블 콜렉션을 변경하려면 runtime에 exception이 발생했다. 코틀린에는 기본 콜렉션에 매핑되는 read-only 뷰와 read-write 뷰가 있으며, read-only 뷰에 쓰기를 시도하면 컴파일 단계에서 실패한다. read-on..

범위와 반복 레인지 클래스 코틀린은 특정 범위의 값들을 반복하기 위해서 특화된 클래스들로 추상수준을 올렸다. val oneToFive: IntRange = 1..5 val aToE: CharRange = 'a'..'e' val seekHelp: ClosedRange = "hell".."help" 정방향 반복 for(x in ..) 문법을 이용해서 반복문을 수행할 수 있으며, 반목문 안의 변수는 var이 아닌 val로 선언된다. for (i in 1..5) { print("$i, ") } //1, 2, 3, 4, 5, for (ch in 'a'..'e') { print(ch) } //abced ClosedRange에는 iterator()가 없기 때문에 반복문으로 사용할 수 없다. for (word in "..

코틀린은 Java를 사용할 때보다 훨씬 간결하게 코드를 작성할 수 있다. 더 적은 타이핑 세미콜론은 생략해도 된다. 변수타입 지정은 생략해도 된다. 클래스와 함수는 생략 가능하다. try-catch는 선택사항이다. 현명한 경고 사용하지 않는 파라미터에 대한 경고를 준다. var 보다는 val 코틀린에서는 변수 이름을 먼저 쓰고 타입을 명시한다.(변수이름:타입) val pi: Double = 3.14 val은 java의 final과 비슷하게 값을 변경할 수 없다. 변수의 값을 바꾸려면 var을 사용하면 되지만 함수형 프로그래밍을 위해 피하는 것이 좋다. 향상된 동일성 체크 Java의 equal() 메소드 or 코틀린의 == 연산자 : 값을 비교 (구조상의 동일성) Java의 == 연산자 or 코틀린의 ==..