본문 바로가기 메뉴 바로가기

개발자 박진 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

개발자 박진 블로그

검색하기 폼
  • 분류 전체보기 (173)
    • 내 정보 (1)
    • 회고 (1)
    • 개발 언어 (104)
      • 코틀린 (42)
      • 자바 (1)
      • NodeJS (21)
      • 파이썬 (6)
      • 기타 웹개발 지식 (34)
      • Vibe-Coding (0)
    • 프레임워크 (7)
      • 스프링 & 스프링 부트 (7)
    • 개발도구 (6)
      • 도커(Docker) (1)
      • k8s (1)
      • aws (4)
    • 디자인 패턴 (22)
    • 독서 (12)
      • 오브젝트 (5)
      • 객체지향의 사실과 오해 (7)
    • 기타 북마크 (13)
    • 이사 (4)
    • 기타 암거나 (2)
  • 방명록

위임 (2)
인프런 - 코틀린 고급편 (2) 지연과 위임

8강. lateinit, lazy()class Person( private val name: String) { val isKim: Boolean get() = this.name.startsWith("최") // 홍길동 -> 홍** val maskingName: String get() = name[0] + (1 until name.length).joinToString("") { "*" }}fun main() { val person = Person("홍길동")}클래스 인스턴스화가 이뤄지며 name에 '홍길동'이 들어감만약, 인스턴스화 시점과 프로퍼티 초기화 시점을 분리하고 싶다면?테스트 코드 작성테스트 코드의 특징은 각 테스트 메소드가 Person을 각각 ..

개발 언어/코틀린 2024. 7. 1. 07:31
코틀린(Kotlin) | 클래스 위임

상속의 문제점 상위 클래스와 하위 클래스의 결합도가 높아져 상위 클래스의 변화가 하위 클래스에 주는 영향을 예측하기 어렵다. 불필요한 상위 클래스의 메서드까지 구현해야 한다. 하위 클래스로 내려갈수록 기능이 더해져 파악하기 어렵다. final클래스의 경우 상속이 불가능하다. 상속의 대안 위임 특정 처리를 다른 객체에게 넘기는 것을 의미한다. 다른 객체는 클래스 내부(포함)에 가지고 있는다. 코틀린 에서는 by키워드로 클래스 위임을 만들 수 있다. interface Attackable { fun attack() } class Knife: Attackable { override fun attack() { println("attack with knife") } } class Gun: Attackable { o..

개발 언어/코틀린 2019. 6. 24. 15:37
이전 1 다음
이전 다음
250x250
최근에 올라온 글
최근에 달린 댓글
TAG
  • 웹개발
  • 객체지향
  • Spring Boot
  • kotlin
  • 오브젝트
  • git
  • 자바스크립트
  • Coroutine
  • structured concurrency
  • 파이썬
  • CoroutineScope
  • 디자인패턴
  • nodejs
  • Docker
  • 비동기프로그래밍
  • 코틀린
  • async
  • DevOps
  • 일기
  • 운동
more
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바