일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dart
- Widget Tree
- 알고리즘
- 비동기 처리
- 자료구조
- 앱아이콘 변경
- 재귀
- dfs
- IOS
- 플러터 동작
- flutter
- 싱글톤
- 거리알고리즘
- Kotlin
- Android
- zwj
- 자바
- linebreak
- element tree
- 프로그래머스
- 완전탐색
- 초기화
- 에러
- Java
- 프리즈드
- Render object tree
- Lazy
- Singleton
- 코틀린
- 플러터
- Today
- Total
목록Singleton (2)
모바일 개발하는 자바리안의 메모장
object 와 companion object 의 차이점을 알아봤다. Kotlin 에서는 싱글톤 클레스를 정의할 때 ojbect 키워드를 사용된다. class가 아닌 object로 선언해줌으로서 완전 static 클레스가 된다. (자바에서 싱글톤 만들던거랑 비교해보면 엄청 편함...) 아래 예제와 같이 별도의 별도의 객체생성 없이 클래스를 통해 바로 인스턴스 함수, 변수에 접근할 수 있다. object MyObject { fun myFunction() { println("myFunction inside MyObject") } } fun main() { MyObject.myFunction() } companion object 또한 싱글톤과 관련된 문법이며, 클래스에 연결된 특수한 종류의 객체이다. Comp..
해당 키워드가 붙는 생성자는 새로운 인스턴스를 만들지 않고 하나의 인스턴스만을 사용하게 된다. class ClassA { static final ClassA _classA = ClassA._internal(); factory ClassA() { return _classA; } ClassA._internal() { } } 기본적인 싱글톤 패턴 코드이다. 자 이제 해당 class의 객체 2개를 만들어 비교해보자. ClassA classA1 = ClassA(); ClassA classA2 = ClassA(); debugPrint((classA1 == classA2).toString()); // true 다른 2개의 객체의 주소값이 같음을 확인할 수 있다. 만약 새로운 인스턴스도 생성해줘야 할 필요가 있는 cl..