Data의 출처(network, local(cache) data(room, SharedPreference, DataStore), file 등)에 관계 없이 동일한 인터페이스로 데이터에 접근할 수 있도록 하는 패턴
= Data Layer를 캡슐화 시키는 것이 Repository Pattern의 주된 목적
= Data Layer와 Presentation Layer의 Coupling이 줄어든다
특징
싱글톤 : 하나의 메모리에 만들어서 어떤 뷰에서 호출하든 동일한 주소값을 갖도록 만듬
싱크로나이즈드(Synchronized) : 한 쓰레드에서만 객체를 반환하기위해 사용