일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- Kotlin in action 6장
- Kotlin in action 3장
- 스프링 핵심 원리 - 기본편
- 컨베이어 벨트 위의 로봇 Python
- 백준 13460 Python
- 코틀린
- Kotlin in action 5장
- 자바 ORM 표준 JPA 프로그래밍 7장
- 백준
- 고급매핑
- Kotlin in action 10장
- 7장 고급매핑
- 스프링 컨테이너와 스프링 빈
- Kotlin In Action
- 스프링 핵심 원리 이해
- 20055
- KotlinInAction
- 20055 컨베이어 벨트 위의 로봇
- 객체 지향 설계와 스프링
- 13460 구슬탈출 2
- 싱글톤 컨테이너
- spring
- 스프링 핵심 원리
- kotlin in action 정리
- 코틀린인액션
- 기능개발 python
- 코틸린인액션
- 백준 20055 컨베이어 벨트 위의 로봇
- Kotlin
- Today
- Total
목록kotlin in action 정리 (7)
기록하는 습관
** 이 글은 Kotlin In Action을 읽고 정리한 글입니다. ** 10.1 애노테이션 선언과 적용 10.1.1 애노테이션 적용 애노테이션 적용을 위해서는 적용하는 대상 앞에 애노테이션을 붙이면 된다. 애노테이션은 '@'과 애노테이션 이름으로 이루어진다. 예를 들어 JUnit 프레임워크를 사용한다면 테스트 메서드 앞에 '@Test' 애노테이션을 붙이면 된다. class MyTest{ @Test fun testTrue(){ Assert.assertTrue(true) } } 애노테이션의 인자로는 원시 타입의 값, 문자열, enum, 클래스 참조, 다른 애노테이션 클래스, 배열이 들어갈 수 있다. 애노테이션의 인자를 지정하는 문법은 자바와 약간 다르다. 클래스를 애노테이션 인자로 지정할 때는 @MyAn..
** 이 글은 Kotlin In Action을 읽고 정리한 글입니다. ** 1. 널 가능성 fun strLenSafe(s: String?) = s.length() 타입 이름 뒤에 물음표(?)를 붙이면 그 타입의 변수나 프로퍼티에 null 참조를 저장할 수 있다. val x:String? = null val y:String = x 널이 될 수 있는 값을 널이 될 수 없는 타입의 변수에 대입할 수 없다. 안전한 호출 연산자 ?. null 검사와 메서드 호출을 한 번의 연산으로 수행한다. val country = this.company?.address?.country 엘비스 ?:연산자 이항 연산자로 좌항을 계산한 값이 널인지 검사한다. 좌항 값이 널이 아니면 좌항 값을 결과로 하고, 좌항 값이 널이면 우항 값..
** 이 글은 Kotlin In Action을 읽고 정리한 글입니다. ** 1. 람다 식과 멤버 참조 1-3. 람다 식의 문법 { x:Int, y:Int -> x + y } 코틀린 람다 식은 항상 중괄호로 둘러싸여 있다. 화살표(->)가 인자 목록과 람다 본문을 구분한다. 실행 시점에 코틀린 람다 호출에는 부가 비용이 들지 않으며, 프로그램의 기본 구성 요소와 비슷한 성능을 낸다. 1) 함수 호출 시 맨 마지막 인자가 람다식이라면 이를 괄호 밖으로 빼낼 수 있다. people.maxBy() { p -> p.age } 2) 람다가 어떤 함수의 유일한 인자이고 괄호 뒤에 람다를 썼다면 호출 시 빈 괄호를 없애도 된다. people.maxBy { p -> p.age } 3) 람다의 파라미터가 하나뿐이고 컴파일..
** 이 글은 Kotlin In Action을 읽고 정리한 글입니다. ** 1. 클래스 계층 정의 1-1. 코틀린 인터페이스 interface Clickable { fun click() } class Button : Clickable { override fun click() = println("I was clicked") } >>> Button().click() // I was clicked 코틀린에서는 클래스 이름 뒤에 콜론(:)을 붙이고 인터페이스와 클래스 이름을 적는 것으로 클래스 확장과 인터페이스 구현을 모두 처리한다. override 변경자는 상위 클래스나 상위 인터페이스에 있는 프로퍼티나 메서드를 오버라이드 한다는 표시다. 코틀린에서는 override 변경자를 꼭 사용해야 한다. 인터페이스 메..
** 이 글은 Kotlin In Action을 읽고 정리한 글입니다. ** 1. 코틀린에서 컬렉션 만들기 코틀린은 자체 컬렉션을 제공하지 않는다. 표준 자바 컬렉션을 활용하면 자바 코드와 상호작용하기 훨씬 더 쉽기 때문. val set = hashSetOf(1, 7, 53) val list = arrayListOf(1, 7, 53) val map = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three") 코틀린 컬렉션은 자바 컬렉션과 똑같은 클래스다. 하지만 코틀린에서는 자바보다 더 많은 기능을 쓸 수 있다. ex) last(), max() val strings = listOf("first", "second", "fourteeth") println(strin..
** 이 글은 Kotlin In Action을 읽고 정리한 글입니다. ** 1. 기본 요소 : 함수와 변수 1-1. 함수 코틀린에서 if 는 식(expression)이지 문(statement)이 아니다. 식 : 값을 만들어내며 다른 식의 하위 요소로 계산에 참여할 수 있다. 문 : 자신을 둘러싸고 있는 가장 안쪽 블록의 최상위 요소로 존재하며 아무런 값을 만들어내지 않는다. 자바에서는 모든 제어 구조가 ‘문’ 인 반면, 코틀린은 루프를 제외한 대부분의 제어 구조가 ‘식’이다. // 블록이 본문인 함수 (본문이 중괄호로 둘러싸인 함수) fun max(a : Int, b : Int) : Int { return if ( a > b ) a else b } // 식이 본문인 함수 (등호와 식으로 이뤄진 함수) f..
** 이 글은 Kotlin In Action을 읽고 정리한 글입니다. ** 0. Kotlin 이란? Java 와의 상호운용성을 고려하고 실용성을 갖춘 언어 서버 개발, 안드로이드 개발 등 Java가 사용중인 곳이면 대부분 Kotlin을 사용할 수 있다. Java보다 더 간결한 코드로 편하게 사용 가능하다. 1. 정적 타입 지정 언어 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 객체의 필드나 메서드를 사용할 때마다 컴파일러가 타입을 검증해줌 참고) 동적 타입 지정 언어란? 타입과 관계없이 모든 값을 변수에 넣을 수 있다. 메서드나 필드 접근에 대한 검증이 실행 시점에 일어난다. 장점 - 코드가 더 짧아지고 데이터 구조를 더 유연하게 생성하고 사용할 수 있다. 단점 - 이름을..