제주 탈출 일지

kotlin 기반 Android App 개발 교육 정리 - 2일차 본문

kotlin

kotlin 기반 Android App 개발 교육 정리 - 2일차

귀건 2021. 2. 2. 11:49
728x90
반응형

1

개발에서는 sleep을 사용해서는 안된다.(사용자 입장에서는 프로그램이 멈추는 것과 동일

객체지향 프로그래밍을 주제로 수업을 진행하고, 파일 입출력을 해볼 것 이다.

 

객체는 하나의 독립적 모듈.

왜 객체 지향인가? 객체형 언어이면 안되는가?

객체가 많아지면 많아질 수록 시스템이 느려지고, 관리하기가 어려움

 

객체 지향에서의 상속, Function Table로 동일한 함수들을 묶어서 관리

 

Factory 모델

dependency가 없어져서 사용하는 사람은 내부 구조의 변화에 대해서 민감하게 생각하지 않아도 된다,

 

Singleton 모델

팩토리는 무조건 하나 있어야 한다. 하나 있을 경우 더 간단. 여러개가 있을 수록 복잡해진다.

 

참조변수는 스택, 인스턴스는 힙에 생성된다.

 

코틀린은 주생성자와 보조생성자로 나뉜다.

 

2

객체지향에서 중요시 하는 것 정보의 은닉..

getter/setter 이슈

코틀린은 getter setter 함수를 내장하고 있다.

 

초기화 시 null허용으로 초기화하는 경우 초기화에 대한 이슈가 있다.

 

클래스만 따로 만드는 것이 아니라 클래스 간 관계를 통해서 유지보수를 쉽게 하는 것이 객체지향의 장점.

 

클래스 이름 옆에 매개변수 처럼 초기화를 진행한다 - 주생성자

constructor 키워드를 사용해서 클래스 내부에서 초기화를 진행한다 - 보조 생성자

 

3

상하위 생성자의 수행흐름.

생성자의 접근 제한을 private로 생성하는 경우 -> 실제로는 거의 없으나, Singleton 모델의 경우 생성자를 private로 사용한다. 

주 생성자를 숨기고, 보조 생성자로 세팅을 한다.

 

+ 함수 반환 타입이 없는 경우는 암시적으로 Unit임을 의미한다.

 

 

4

문제 1, 2

5

추상클래스

인터페이스는 추상클래스와 유사한 점이 많다 하지만 인터페이스는 추상함수만으로 구성되는 것을 특징으로 한다.(인터페이스는 클래스가 아니다.) api 처럼...

 

싱글턴 ContainerFactory -> IContainer -> 각종 확장자 컨테이너,,,

중요...

728x90
반응형
Comments