Kotlin 3

모듈을 만들 때 염두에 두어야 할 점

🍎 서비스의 기능을 모듈로 개발하거나 기존의 기능을 모듈로 떼어낼 때 주의할 부분을 정리합니다.🍏 모듈로서 갖춰야 할 조건✓ 서비스 개발 시 어떤 기능을 모듈로 떼어내 원자적으로 구성할지 생각해봐야 합니다.✓ 결제 서버(= 레포지토리) 안에 존재하는 결제 검증 기능이 API 서버 혹은 인증 서버에 필요할까요? 그렇지 않습니다.✓ 특정 서버에 종속되지 않고 공통적으로 사용되는 기능은 모듈화 하기에 적합합니다.Ex_> Logger, Client Library 등등 🍏 정확한 사용자 정의✓ 모듈을 이용하는 사용자는 API 서버를 호출하여 응답값을 얻는 Client(Frontend)가 아닌 내부 서버 개발자(platform, product 등등)입니다. 내부 개발자가 모듈을 효과적으로 활용할 수 있도록 개..

Dev 2025.04.07

[Kotlin] reified, inline 그리고 Generic

🍎 Kotlin에서 제공하는 `reified`, `inline` 키워드의 기능을 정리합니다. 키워드들이 무엇인지, 그리고 어떤 상황에서 사용되는지 알아보겠습니다.🍎 `reified`와 `inline`의 사전적 의미- `reified`는 reify의 과거형으로 사전적 의미로 "개념이나 아이디어를 구체적이고 실질적인 형태로 변환하다"라는 의미를 갖습니다.- `inline`은 "줄지어 있는, 일렬로 나란히 있는"을 의미하며 컴퓨터 용어로는 코드를 다른 코드 내에 직접 삽입하는 방식을 의미합니다.🍏 예를 통한 `refied` 이해 - `reified`를 알기 위해선 우선 `inline` 키워드를 알아야 합니다.fun printYourName(operation: () -> Any) { println(..

Dev 2024.09.03

[Kotlin] Any, *, Generic의 공통점과 차이점

🍎 Kotlin 환경에서 Type에 관련해 제공되는 기능 Any, *, Generic을 이해하기 위해 정리한 글🍎 공통점- Any, *, Generic은 Kotlin 환경에서 특정 타입에 구애받지 않고 다양한 타입에 대해 작업할 수 있는 유연성을 제공합니다.🍎 차이점Any, *, Generic은 모두 타입 시스템에서 유연성을 제공하는 역할을 하지만, 각각의 사용 목적과 상황이 다릅니다. 각 요소의 특징을 살펴보면 어떤 상황에서 어떤 타입을 사용하는 것이 적절한지 더 잘 이해할 수 있을 것입니다. 🍏 Any- Any는 모든 타입의 최상위 타입입니다. 모든 Kotlin 타입은 Any 타입을 상속합니다.- Any는 Java의 Object와 유사한 역할을 수행합니다.- 모든 값이 Any Type으로 취급..

Dev 2024.09.01