1 개요
객체지향 언어는 어떤 변수가 어떤 행동을 하는지 ? 아주 중요하게 여기는 언어
상황에 따라 어떤 변수가 행동을 하던 그냥 기능만 되면 그만인 경우가 존재한다
ex 로그인 api 호출 -> 어떤 서버 유틸이 하던 상관 없다. 연결만 잘 되면 그만
이런 상황에서 java는 해당 메쏘드 .변수 를 static 으로 선언
->자료형 (클래스 ) 자체가 해당 기능을 실행 하도록 지원
2 코틀린에서
- static 키워드가 없다
- companion object 라는 영역을 만드록 -> 이 안에 만들어진 변수/ fun을 static 과 동일하게 처리해준다
- 한클래스당 하나만 선언 가능하다 -> static 으로 쓰로 싶은 모든 변수/ 함수를 전부 companion obejct 영역안에 작성
3 유의 사항
-static 메소드. 변수는 프로그램이 시작될때 '제일 먼저' 미리 생성해서 특정 영역에 모아두게 된다
- 그 외의 일반 메쏘드 .변수는 해당 클래스가 '객체화 될 떄' 생성해서 사용하게 된다
- 만들어지지 않은 변수/ 메쏘드는 가져다 사용할 수 없다
-결론 :companion object 안에서 작성한 메쏘드는 이 안에서 만든 변수들만 사용할 수 있다
'앱 > Kotlin' 카테고리의 다른 글
Thread-비동기 (0) | 2019.11.14 |
---|---|
JSON (0) | 2019.11.14 |
OKHTTP-API 통신 활용 라이브러리 (0) | 2019.11.14 |
API 통신 (0) | 2019.11.14 |
DatePickerDialog-날짜 선택 기능 (0) | 2019.11.07 |