Android Studio

[Android / kotlin] Mapper

혁준 2022. 4. 21. 17:19

Mapper 는 multi module 을 사용하는 경우 각 module 에 존재하는 data class 간의 변환을 위해 사용이 됩니다.

 

mapper 는 다양한 코드의 형태로 존재할 수 있습니다. 가장 중요한 것은 data class 간의 데이터를 변환해 줄 수 있다는 것 입니다.

 

간단하게 예시 코드를 보도록 합시다! 

// data module
data class DataUser(
	val name: String,
    val age: String
)

// domain module
data class DomainUser(
	val name: String,
    val age: String
)

Mapper 의 예시를 들기 위해서 간단하게 data class를 만들었습니다. 이제 Mapper를 사용해보겠습니다! 

// Mapper 

fun dataToDomainMapper(data: DataUser): DomainUser {
	return DomainUser(
    	name = data.name
        age = data.age
    )
}

 

함수 이름을 보면 알 수 있듯이 dataToDomainMapper, 즉 데이터 모듈의 데이터를 도메인 모듈의 데이터로 바꾸어 줍니다. 

 

이렇게 Mapper의 생성이 완료되면, data의 변환이 필요한 곳에 mapper 를 넣어서 사용해주시면 됩니다!!

 


저도 multi module을 사용할 때 mapper 부분이 이해가 되지 않아서 정말 고생했었는데, 이제야 조금씩 어떤 기능을 하는지 조금은 알 것 같아 이렇게 글을 작성해봅니다.

 

최대한 간단하게 설명을 해보려 했는데 잘 전달이 되었을지 모르겠네요..! 

 

글 읽어주셔서 감사합니다.