본문 바로가기

코틀린3

싱글톤(Singleton) 패턴이란? 오늘은 싱글톤 패턴에 대해서 알아볼 것이다. 싱글톤패턴은 개발하면서 많이 들어보는 용어중 하나인데 개선된 코드를 짜기 위해 상황에 맞게짜면 굉장히 좋은 패턴이다. 같이 한번 알아보도록 하자 싱글톤(Singleton) 패턴 정의 싱글톤 패턴이란 "어떤 클래스의 인스턴스는 오직 하나임을 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 패턴이다." 라고 정의되어 있다. 싱글톤(Singleton)은 앱의 시작부터 종료될 때 까지 한번의 생성으로 고정된 메모리영역을 가지기 때문에 메모리를 효율적으로 사용 할 수 있다. 또한 싱글톤의 인스턴스(instance)는 전역적으로 사용되므로 다른 클래스의 인스턴스들이 데이터를 공유 변경이 가능하다는 장점을 갖고 있다. 예시를 들어보면 가위라는 클래스가 .. 2023. 5. 2.
코틀린 Object와 Companion Object 차이? - kotlin 오늘은 비슷한거 같으면서 다른 Object declaration와 Companion object의 차이에 대해서 알아보려한다. 보통 Kotlin에서 Java의 static과 같은 정적 변수 및 메서드를 사용하기 위해 보통 object나 Companion object를 사용하는데 object부터 차근차근 알아보자. Object declaration이란? Object declaration은 싱글톤 패턴을 더 쉽게 사용하기 위해 코틀린에서 제공하는 일종의 객체 선언 키워드라고 볼 수 있다. 예시 코드를 한번 봐보자. object ObjectDecl { const val OB_STRING = "1" fun obtest() {} } Object는 위와 같은 형태로 선언할 수 있고 다음과 같은 특징이 있다. Sin.. 2023. 4. 28.
코틀린 Companion Object란? - kotlin 오늘은 코틀린의 companion Object에 대해서 알아볼 것이다. 자바에 static 변수(필드), 메서드가 존재하듯 코틀린에서도 정적 변수와 함수가 존재한다. 그러나 코틀린의 문법 특성 상 클래스 안에 이것들을 클래스 안에 둘 수는 없고, 코틀린에는 static이라는 키워드가 존재하지 않는다. 그럼 어떻게 사용할까? 이 때를 위해 존재하는 것이 companion object라는 것이다. 먼저 Companion Object에 대해 알아보기 전에 Java의 상수 코드를 먼저 봐보자. public class Animal { static final int MAX_AGE = 100; } public static void main() { System.out.prinln("최대 나이는 " + Animal.MA.. 2023. 4. 27.