테스트에서 실제 구현 대신 끼워 넣는 가짜 객체로, 특정 메서드가 호출됐는지 등을 검증하는 데 쓰인다.
Mock(mock object)
테스트에서 실제 구현 대신 끼워 넣는 가짜 객체로, 특정 메서드가 호출됐는지 등을 검증하는 데 쓰인다.
[{"slug":"Architecture","title":"Architecture","definition":"시스템의 구성 요소와 구성 요소 간의 관계, 그리고 동작 방식을 정의하는 설계도(청사진)이다.","tags":["아키텍처","architecture","system architecture"],"definitions":[{"title":"시스템 아키텍처(system architecture)","define":"시스템의 구성 요소와 구성 요소 간의 관계, 그리고 동작 방식을 정의하는 설계도(청사진)이다."}]},{"slug":"Coupling","title":"Coupling","definition":"한 객체나 모듈이 다른 객체나 모듈에 얼마나 강하게 의존하고 있는지를 나타내는 정도이다.","tags":["결합도","coupling"],"definitions":[{"title":"결합도(coupling)","define":"한 객체나 모듈이 다른 객체나 모듈에 얼마나 강하게 의존하고 있는지를 나타내는 정도이다."}]},{"slug":"DataSource","title":"DataSource","definition":"API나 DB 같은 특정 데이터 출처와 직접 통신하며, 데이터를 가져오고 저장하는 기술적인 세부사항을 담당한다.","tags":["datasource","data source","데이터소스","데이터 소스"],"definitions":[{"title":"DataSource(데이터 소스)","define":"API나 DB 같은 특정 데이터 출처와 직접 통신하며, 데이터를 가져오고 저장하는 기술적인 세부사항을 담당한다."}]},{"slug":"DI","title":"DI","definition":"객체가 필요로 하는 의존성을 내부에서 직접 생성하지 않고, 외부에서 주입받도록 하는 것이다.","tags":["di","dependency injection"],"definitions":[{"title":"DI(Dependency Injection)","define":"객체가 필요로 하는 의존성을 내부에서 직접 생성하지 않고, 외부에서 주입받도록 하는 것이다."}]},{"slug":"DIP","title":"DIP","definition":"구체적인 구현이 아니라 추상화에 의존하도록 하여, 상위 모듈과 하위 모듈이 모두 추상화에 의존하게 만드는 설계 원칙이다.","tags":["dip","dependency inversion principle"],"definitions":[{"title":"DIP(Dependency Inversion Principle)","define":"구체적인 구현이 아니라 추상화에 의존하도록 하여, 상위 모듈과 하위 모듈이 모두 추상화에 의존하게 만드는 설계 원칙이다."}]},{"slug":"Domain Model","title":"Domain Model","definition":"애플리케이션이 해결하려는 문제 영역의 핵심 개념과 규칙을 표현하는 모델이다.","tags":["domain model","도메인 모델"],"definitions":[{"title":"Domain Model(도메인 모델)","define":"애플리케이션이 해결하려는 문제 영역의 핵심 개념과 규칙을 표현하는 모델이다."}]},{"slug":"DTO","title":"DTO","definition":"계층이나 시스템 사이에서 데이터를 전달하기 위해 사용하는 객체이다.","tags":["dto","data transfer object","데이터 전달 객체"],"definitions":[{"title":"DTO(Data Transfer Object)","define":"계층이나 시스템 사이에서 데이터를 전달하기 위해 사용하는 객체이다."}]},{"slug":"Entity","title":"Entity","definition":"속성 일부가 변하더라도 식별자가 같으면 동일한 대상으로 보는 도메인 객체이다.","tags":["entity","엔티티"],"definitions":[{"title":"Domain Entity(도메인 엔티티)","define":"속성 일부가 변하더라도 식별자가 같으면 동일한 대상으로 보는 도메인 객체이다."},{"title":"Room Entity(Room 엔티티)","define":"Room에서 데이터베이스 테이블의 구조를 표현하는 저장용 모델이다."}]},{"slug":"Hilt","title":"Hilt","definition":"안드로이드에서 DI를 쉽게 구현하도록 구글이 공식적으로 권장하는, Dagger 기반의 DI 라이브러리다.","tags":["hilt"],"definitions":[{"title":"Hilt","define":"안드로이드에서 DI를 쉽게 구현하도록 구글이 공식적으로 권장하는, Dagger 기반의 DI 라이브러리다."}]},{"slug":"IoC","title":"IoC","definition":"객체의 생성과 흐름 제어권을 개발자가 아니라 프레임워크가 갖도록 뒤집는 개념이다.","tags":["ioc","inversion of control"],"definitions":[{"title":"IoC(Inversion of Control)","define":"객체의 생성과 흐름 제어권을 개발자가 아니라 프레임워크가 갖도록 뒤집는 개념이다."}]},{"slug":"MVC","title":"MVC","definition":"애플리케이션을 Model, View, Controller로 나누고, Controller가 View와 Model 사이를 중재하는 아키텍처 패턴이다.","tags":["mvc"],"definitions":[{"title":"MVC(Model-View-Controller)","define":"애플리케이션을 Model, View, Controller로 나누고, Controller가 View와 Model 사이를 중재하는 아키텍처 패턴이다."}]},{"slug":"MVI","title":"MVI","definition":"사용자 입력을 Intent로 표현하고, 이를 처리한 결과를 하나의 State로 만들어 단방향으로 화면을 갱신하는 아키텍처 패턴이다.","tags":["mvi"],"definitions":[{"title":"MVI(Model-View-Intent)","define":"사용자 입력을 Intent로 표현하고, 이를 처리한 결과를 하나의 State로 만들어 단방향으로 화면을 갱신하는 아키텍처 패턴이다."}]},{"slug":"MVP","title":"MVP","definition":"MVC의 Controller 역할을 Presenter로 분리해, Presenter가 View에 UI 갱신을 직접 요청하는 아키텍처 패턴이다.","tags":["mvp"],"definitions":[{"title":"MVP(Model-View-Presenter)","define":"MVC의 Controller 역할을 Presenter로 분리해, Presenter가 View에 UI 갱신을 직접 요청하는 아키텍처 패턴이다."}]},{"slug":"MVVM","title":"MVVM","definition":"ViewModel이 화면 상태를 제공하고, View가 그 상태를 관찰해 스스로 화면을 갱신하는 아키텍처 패턴이다.","tags":["mvvm","architecture","design pattern"],"definitions":[{"title":"MVVM(Model-View-ViewModel)","define":"ViewModel이 화면 상태를 제공하고, View가 그 상태를 관찰해 스스로 화면을 갱신하는 아키텍처 패턴이다."}]},{"slug":"Repository","title":"Repository","definition":"데이터가 어디에서 오는지 감추고, 애플리케이션에 필요한 데이터를 제공하는 데이터 접근 창구이다.","tags":["repository","리포지토리"],"definitions":[{"title":"Repository(리포지토리)","define":"데이터가 어디에서 오는지 감추고, 애플리케이션에 필요한 데이터를 제공하는 데이터 접근 창구이다."}]},{"slug":"SDUI","title":"SDUI","definition":"화면을 어떤 UI로 구성할지를 서버가 결정하고, 클라이언트는 서버가 내려준 정의를 해석해 화면을 그리는 방식이다.","tags":["SDUI","server driven ui","architecture"],"definitions":[{"title":"SDUI(Server Driven UI)","define":"화면을 어떤 UI로 구성할지를 서버가 결정하고, 클라이언트는 서버가 내려준 정의를 해석해 화면을 그리는 방식이다."}]},{"slug":"Smart Cast","title":"Smart Cast","definition":"is나 != null 같은 검사를 통과하면, 그 블록 안에서는 컴파일러가 변수를 자동으로 좁혀진 타입으로 취급한다.","tags":["smart cast","smartcast","스마트 캐스트"],"definitions":[{"title":"Smart Cast(스마트 캐스트)","define":"is나 != null 같은 검사를 통과하면, 그 블록 안에서는 컴파일러가 변수를 자동으로 좁혀진 타입으로 취급한다."}]},{"slug":"UI Model","title":"UI Model","definition":"화면을 표시하는 데 필요한 값과 상태를 표현하는 모델이다.","tags":["ui model","uimodel","UI 모델"],"definitions":[{"title":"UI Model","define":"화면을 표시하는 데 필요한 값과 상태를 표현하는 모델이다."}]},{"slug":"UseCase","title":"UseCase","definition":"애플리케이션에서 수행하는 하나의 행위와 그에 필요한 비즈니스 규칙을 표현한다.","tags":["usecase","use case","유스케이스","유스 케이스"],"definitions":[{"title":"UseCase(유스케이스)","define":"애플리케이션에서 수행하는 하나의 행위와 그에 필요한 비즈니스 규칙을 표현한다."}]},{"slug":"Value Object","title":"Value Object","definition":"별도의 식별자가 아니라 값 자체로 구분되며, 값의 의미와 규칙을 하나의 타입으로 표현하는 객체이다.","tags":["value object","valueobject","값 객체","VO"],"definitions":[{"title":"Value Object(값 객체)","define":"별도의 식별자가 아니라 값 자체로 구분되며, 값의 의미와 규칙을 하나의 타입으로 표현하는 객체이다."}]},{"slug":"ViewModel","title":"ViewModel","definition":"화면에서 발생한 요청을 처리하고, 화면에 필요한 상태를 관리하여 View에 제공하는 구성요소이다.","tags":["viewmodel","view model","뷰모델"],"definitions":[{"title":"ViewModel","define":"화면에서 발생한 요청을 처리하고, 화면에 필요한 상태를 관리하여 View에 제공하는 구성요소이다."}]}]