| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 알고리즘
- Kubernetes
- 인프런
- lambda
- 김영한
- 멀티 쓰레드
- mysql
- 스레드
- 쿠버네티스
- 자바
- container
- 쓰레드
- db
- 데이터베이스
- SQL
- 컨테이너
- replicaset
- Thread
- 실전 자바 고급 1편
- 함수형 인터페이스
- 자료구조
- 람다
- RDB
- Docker
- 자바 입출력 스트림
- 도커 엔진
- Today
- Total
목록Language/Kotlin (41)
쌩로그
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 67. 봉인된 클래스를 정리한 포스팅이다. 해당 글 레포 2. 본론 클래스 계층을 제한하려면 상위 클래스를 sealed로 선언하라! package sec05.sealedclasses import atomictest.eq open class Transport data class Train( val line: String): Transport() data class Bus( val number: String, val capacity: Int): Transport() fun travel(transport: Transport) = when(transport) { is Train -> "Train ${tra..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 66. 다운캐스트를 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 없음. 예약어 및 코틀린 개념 다운 캐스트 다운캐스트는 이전에 업캐스트했던 객체의 구체적인 타입을 발견한다. 기반 클래스가 파생 클래스보다 더 큰 인터페이스를 가질 수 없으므로 업캐스트는 항상 안전하다. 모든 기반 클래스 멤버가 존재한다고 보장할 수 있으며 멤버를 호출해도 안전하다. 다운캐스트는 실행 시점에 일어나며 실행 시점 타입 식별(Run-Time Type Identification, RTTI)이라고 한다. 스마트 캐스트 코틀린의 스마트 캐스트는 자동 다운캐스트다. is키워드는 어떤 객체가 특정 타입인지 검사한다. 이 검사 ..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 65. 클래스 위임을 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 없음. 예약어 및 코틀린 개념 클래스 위임 합성과 상속은 모두 새 클래스 안에 하위 객체를 심는다. 합성에서는 하위 객체가 명시적으로 존재하고, 상속에서는 암시적으로 존재한다. 합성은 내포된 객체의 기능을 사용하지만 인터페이스를 노출하지는 않는다. 클래스가 기존의 구현을 재사용하면서 동시에 인터페이스를 구현해야 하는 경우, 상속과 클래스 위임a(class delegation)이라는 두 가지 선택지가 있다. 클래스 위임은 상속과 합성의 중간 지점이다. 합성과 마찬가지로 새 클래스 안에 멤버 객체를 심고, 상속과 마찬가지로 심겨진 ..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 64. 상속과 확장을 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 없음. 예약어 및 코틀린 개념 상속과 확장 때로는 기존 클래스를 새로운 목적으로 확용하기 위해 새로운 함수를 추가해야 할 때가 있다. 이때 기존 클래스를 변경할 수 없으면 새 함수를 추가하기 위해 상속을 사용해야 한다. 이로 인해 코드를 이해하고 유지 보수하기 어려워진다. 상속한 클래스에 함수 추가 현대 OO 프로그래밍(객체 지향)이 상속을 하는 동안 함수를 추가하는 것을 허용하지만, 이는 코드 냄새(code smell)다. 함수 추가는 타당하고 편리해 보이지만 함정에 빠뜨릴 수 있다. 무언가가 작동하는 것처럼 보인다고 해서 그..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 63. 합성을 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 재사용 코드 객체 지향을 사용해야 하는 가장 큰 이유는 코드 재사용이다. 제대로 재사용된 코드는 단 한 곳만 바꿔도 된다. 객체 지향 프로그래밍에서는 새 클래스를 만듦으로써 코드를 재사용한다. 밑바닥부터 새로 클래스를 만드는 대신 누군가 만들고 디버깅해둔 기존 클래스를 사용한다. 핵심은 기존 코드를 더럽히지 않고 클래스를 재사용하는 것이다. 재사용 코드를 잘 사용하는 방법 중 하나가 상속이다. 상속 상속을 하면 기존 클래스 타입에 속하는 새 클래스를 만든다. 기존 클래스를 변경하지 않고, 기존 클래스의 형식대로 새 클래스에 새 코드를 ..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 62. 다형성을 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 다형성(Polymorphism) 다형성은 '여러 형태'를 뜻하는 고대 그리스 단어다. 프로그래밍에서 다형성은 객체나 멤버의 여러 구현이 있는 경우를 뜻한다. 바인딩(binding) 함수 호출을 함수 본문과 연결 짓는 작업을 의미한다. 일반적으로 바인딩은 정적으로, 컴파일 시점에 일어난다. 다형성이 사용되는 경우에는 같은 연산이 타입에 따라 다르게 동작해야 한다. 동적 바인딩을 늦은 바인딩이나 동적 디스패치(dispatch)라고 부르기도 한다. 예약어 및 코틀린 개념 다형성(Polymorphism) 다형성은 부모 클래스 ..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 61. 업캐스트를 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 업캐스트(upcast) 객체 참조를 받아서 그 객체의 기반 타입에 대한 참조처럼 취급하는 것을 업캐스트(upcast)라고 한다. 예약어 및 코틀린 개념 package sec05.upcasting import atomictest.* interface Shape { fun draw(): String fun erase(): String} class Circle : Shape { override fun draw() = "Circle.draw" override fun erase() = "Circle.erase"} class Square : ..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 60. 추상 클래스를 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 없음. 예약어 및 코틀린 개념 추상 클래스(abstract class) 추상 클래스는 하나 이상의 프로퍼티나 함수가 불완전하다는 점을 제외하면 일반 클래스와 같다. 본문이 없는 함수 정의나 초깃값 대입을 하지 않는 프로퍼티 정의가 불완전한 정의다. 클래스 멤버에서 본문이나 초기화를 제거하려면 abstract 변경자를 해당 멤버 앞에 붙여야 한다. abstract가 붙은 멤버가 있는 클래스에는 반드시 abstract를 붙여야 한다. 다음 코드에서 각 요소의 abstract 를 제거하면 Abstract property 'x&..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 59. 기반 클래스 초기화를 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 없음. 예약어 및 코틀린 개념 기반 클래스 초기화 클래스가 다른 클래스를 상속할 때, 코틀린은 두 클래스가 모두 제대로 초기화되도록 보장한다. 코틀린은 다음 생성자가 호출되도록 보장함으로써 올바른 객체를 생성한다. 멤버 객체들의 생성자 파생 클래스에 추가된 객체의 생성자 기반 클래스의 생성자 기반 클래스에 생성자 파라미터가 있다면, 파생 클래스가 생성되는 동안 반드시 기반 클래스의 생성자 인자를 제공해야 한다. package sec05.baseclassinit import atomictest.eq open class Gr..
목록 포스팅 개요 본론 용어 예약어 및 코틀린 개념 코틀린 함수 참고 1. 포스팅 개요 아토믹 코틀린 At 58. 상속을 정리한 포스팅이다. 해당 글 레포 2. 본론 용어 상속(inheritance) 상속(inheritance)은 기존 클래스를 재사용하면서 변경해 새로운 클래스를 만드는 메커니즘이다. 예약어 및 코틀린 개념 객체 객체는 프로퍼티에 데이터를 저장하고 멤버 함수를 통해 동작을 수행한다. 각 객체는 메모리에서 고유한 장소를 차지하기 때문에 한 객체의 프로퍼티는 다른 객체의 프로퍼티 값과 다른 값을 가질 수 있다. 객체는 어떤 클래스라는 범주에 들어간다. 객체는 자신을 만들어낸 클래스의 모습을 지닌다. 클래스 클래스는 자신에 속한 객체들의 형식(프로퍼티와 함수)을 결정한다. 클래스를 만들고 디버..