Interface

sealed class의 한계와 sealed interface의 등장 sealed class는 클래스를 상속하는 서브 클래스를 컴파일러에서 알 수 있도록 하기 위해 만들어졌다. 아래의 UIState와 같은 간단한 상속구조라면 sealed class로도 충분하다. sealed class UIState() data object Loading : UIState() data class Success(val data: UIData) : UIState() data class Error(val error: Exception) : UIState() 하지만, sealed class를 사용하면, 다른 클래스들이 둘 이상의 sealed class를 상속받지 못하게 되는 한계가 있다. 예를 들어 다음과 같은 코드를 만들어보자..
· Programming
API 란? API란 개발자와 API 제공자 사이에 프로그램을 작성하기 위해 만든 규약(Protocol)이자 계약(Contract)이다. 더 자세히 들어가면 API는 Application Programming Interface의 약자로 개발자가 Application을 Programming하기 위해 만든 인터페이스이다. 개발자는 API 제공자가 정의한 프로토콜을 이용해 API 제공자가 정의한 기능을 사용할 수 있다. *인터페이스 : 외부에 공개되는 프로토콜 헷갈리지 말아야 할 것은 API는 인터페이스이므로 API는 그 자체로는 실제 어떻게 동작하는지에 대한 구현이 들어가지 않으며, API 제공자가 구현을 한다. 개발자는 API에서 제공하는 기능을 가져다 쓸 뿐이고, API 제공자는 API를 구현해 실제로..
Dagger2의 IOC Container 구성 앞의 글에서 Dagger2의 3가지 구성요소 Container, Module, Provider에 대해 배웠다. Component : 클래스의 인스턴스를 모아놓는 저장소(Container) 역할. 각 인스턴스들은 Module 단위로 제공된다. Module : Module 단위로 클래스의 인스턴스를 모아놓는 역할 Provider : 클래스의 인스턴스를 제공(Provide)해주는 역할 이제 각 부분이 어떤 역할을 하는지 알았으므로 더욱 상세히 정리해보고자 한다. Dagger2을 이용해 의존성 주입 구현하기 앞의 글에서 다음과 같은 그림을 본 적이 있다. 는 의존성을 약화시키기 위한 인터페이스의 역할에 대해 설명하면서 나온 그림이다. CPU Time을 구하기 위해 ..
Dev.Cho
'Interface' 태그의 글 목록