코틀린 언어 4

[Kotlin] Singleton 디자인 패턴 토막글 (왜 static 이 아닌 object 인가?)

1. SingletonIn software engineering, the singleton pattern is a software design pattern that restricts the instantiation of a class to a singular instance.소프트웨어 공학에서, 싱글톤 패턴이란 한 클래스의 인스턴스화를 단 하나의 인스턴스로 규제하는 소프트웨어 디자인 패턴이다. 위는 싱글톤 디자인 패턴의 위키피디아 정의이다. 쉽게 말해, 하나의 클래스는 하나의 인스턴스만 가져야 하는 것이 싱글톤 패턴이라는 거다. 2. Java Static그럼 우리 이번에는 위 관점에서, 아래 코드를 보고 Java 의 Static 키워드는 과연 Singleton 패턴에 부합하는지 생각해보자.class E..

코틀린 언어 2024.05.21

[Kotlin] Property 토막글 (Spring boot Setter에 관한 고찰)

1. Kotlin 만의 특이한 생성자 선언Kotlin 에서는 아래와 같이 소괄호 안에, 즉 하나의 생성자 패턴으로써 프로퍼티를 파라미터로 받음과 동시에, 선언할 수 있다. 문제는!! 이렇게 선언된 프로퍼티들이 그냥 선언만 되고 끝나는 것이 아니라, 자동으로 Getter 와 Setter 를 할당 받는다는 데에 있다. (물론 val 로 선언된다면, Setter는 할당받지 않는다.)@Entityclass Reply ( @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") var member: Member? = null @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "t..

코틀린 언어 2024.05.17

[Kotlin] Any 타입과 MutableList

1. MutableListAny> 아무거나 넣을 수 있는 가변리스트The root of the Kotlin class hierarchy. Every Kotlin class has Any as a superclass.코틀린 클래스의 상속 뿌리입니다. 모든 코틀린 클래스는 Any 클래스를 슈퍼클래스로 갖습니다. 자, 설명부터가 대놓고 Java Object를 떠오르게 한다. 실제로 사용하는 방법도 여러가지인데, 오늘은 리스트에 아무 타입이나 넣어 쓸 수 있게 만들어보려고 한다.아주 간단하게 파이썬처럼 여러 타입을 넣을 수 있는 리스트를 만들 수 있다!!2. Any is Class 타입 판별문제는 기존의 방식대로 클래스를 판별할 수가 없다는 것인데,보다시피 ::class.java.simplen..

코틀린 언어 2024.04.24

[Kotlin] 각종 배열 및 리스트 Collection, List, Set, Map, Deque 개념정리

1. Arrays길게 설명하지 않겠다. 배열은 배열이다! 칸수가 정해져 있고, 타입도 정해져있는 그냥 순수 배열이다. 코틀린이라고 다르지 않다. 자세한 용법은 링크안의 공식 문서가 더 명확하다. 다만, 공식 문서에서도 하드웨어 사양등의 특별한 제약만 없다면 Collection을 쓸 것을 강조하는데, 이것이 바로 오늘의 메인 주제이다.2. Collection벌써부터 머리가 어지럽다.. 공식 문서를 차근차근 하나씩 따라가보자. 3. var ? val ?공식문서에 따르면, 모든 collection들은 가급적 val 로 선언되어야 한다! val로 선언된다고 해서, 콜렌션 내부의 요소를 바꿀 수 없는것이 아니라, 콜렉션의 재할당이 금지될뿐이다. 아래는 공식문서의 예시이다.요약하자면 콜렉션을 ..

코틀린 언어 2024.04.24