일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Dialog
- 자바스크립트
- Hooks
- state_checked
- 팝업메뉴
- 리액트
- JS
- hoos
- ContextAPI
- JavaScript
- readAsDataURL
- redux/toolkit
- toolkit
- Android
- itemBackground
- bottomNav
- Redux
- 옵션메뉴꾸미기
- javaSrcript
- react
- 메뉴클릭
- custom
- Node
- 팝업메뉴 꾸미기
- framework
- 커스텀옵션메뉴
- 코틀린
- Menu
- 안드로이드
- nodejs
- Today
- Total
대기업을 향한 디벨롭 블로그
companion Object (동반자 오브젝트) 본문
이번엔 오브젝트에 대해 알아보자. object는 싱글턴 패턴이 적용된것이다.
일단 오브젝트는 하나의 객체를 가지고 , 인스턴스없이 사용할 수 있다. 하지만 object의 값은 무조건 공용?공통?이다. 말로 설명하기가 뭔가 애매하다. 내가 설명을 잘 못한다. 예제를 보면 이해가 될거다.
간단한 예제이다. 오브젝트는 Singleton패턴이며 , 하나의 객체를 공통으로 사용하는것이다.
오브젝트는 무조건 하나만의 객체이므로 변수에담든 뭘하든 그 object안에 있는값들은 바뀐다. 클래스와는 다름
변수 a에 담아서 참조하여 countup을 하여도 결국 Counter라는 오브젝트의 변수 count값이 올라가는것이다.
다음은 class안에 공통으로 쓸 수 있는 companion object를 알아보자. 예제!
companion object는 클래스 안에 object로 위에서 알아보았던 object와 똑같다. 다만 class안에있기 때문에 인스턴스하여 참조해서 쓰는 것 뿐이다. 클래스안에서 공통으로 쓰는것이기 때문에 인스턴스된 모든 객체들이 공통으로 가지고 있고 , 값도 공통된다.
1. yoon 과 lee 에 president클래스를 인스턴스하였다.
2. 투표시작을 출력하고.
3.president클래스안에 vote()메소드를 통해 각자의 객체의 count를 1올려준다.
4.vote메소드안에 total++ 는 companion object안에 변수이기때문에 공통변수이다.
5.yoon에서 참조하든 , lee에서 참조하든 값은 같이 올란다. (총득표수를 구할 수 있음)
6.결과 출력
여기까지 object에 대해알아보았고 , 계속해서 알아볼거다.
'나는안드로이드개발자' 카테고리의 다른 글
안드로이드 애니메이션 LottieAnimation (0) | 2022.06.08 |
---|---|
옵저버패턴 , 객체지향의 다형성 (0) | 2022.05.27 |
Scope 함수 ( apply , run , with , also , let ) (0) | 2022.05.19 |
람다란.. (0) | 2022.05.18 |
override 추상화 interface (0) | 2022.05.17 |