2026/06 3

원시값 포장

레벨 1 미션을 진행하면서 객체 지향 생활 체조 원칙을 지킬수 있으면 지키라는 프로그래밍 요구사항이 있었다. 객체 지향 생활 체조 원칙한 메서드에 오직 한 단계의 들여쓰기만 한다else 표현을 사용하지 않는다모든 원시 값과 문자열을 포장한다한 줄에 점을 하나만 사용한다이름을 줄여 쓰지 않는다(축약 금지)모든 엔티티를 작게 유지한다3개 이상의 스위프트 기본 데이터타입(Int, String, Double 등) 프로퍼티를 가진 타입을 구현하지 않는다일급 콜렉션을 사용한다getter/setter를 구현하지 않는다이 중 원시값 포장에 관한 내용을 다루려고 한다. 원시값을 포장한다는 것의 의미는, Primitive 한 타입, Kotlin에서는 Byte, Short, Int, Long, Float, Double, C..

우테코 8기 2026.06.21

Android Context

안드로이드 개발을 하다보면 Context라는 말을 정말 많이 듣는다. Activity 전환, Service, 등등 정말 안쓰이는 곳이 없는데, 정작 이 Context를 넣어주는건 둘째 치고 이게 뭔지도 몰랐다. 눈치상 대충 맥락이라고 생각했는데, 앱에서의 맥락은 뭔지 좀 알기 어려웠다.생각해보면 "맥락" 이라는 단어가 참 추상적인 것 같다. Tmi이지만, 나도 사실 문맥, 맥락이라는 말을 어머니께 여쭤봤던 기억이 있는데, 직접 경험해보고 이해해보는게 좋다고 생각한다. 중간 정도만 이해해도 다행인걸로.. 공식 문서공식문서에서는 Context를 아래와 같이 설명한다. 앱 환경에 대한 전역적인 정보에 접근하는 인터페이스이다.안드로이드 시스템에서 구현체가 제공되는 추상클래스이다.어플리케이션별 리소스와 객체에 접..

Annotation과 Annotation Target

Kotlin 에서 어노테이션의 정의는 아래와 같다.코드에 있는 요소에 메타데이터를 부착하기 위해 사용하는 태그이다.툴이나 프레임워크가 이 메타데이터를 확인하고 컴파일타임이나 런타임에 그 어노테이션에 따라 다른 행동을 하게 된다.어렵다…………………영어도 어렵고 한글도 어렵고annotate는 주석을 달다라는 뜻이다.메타데이터는 단순히 정보를 붙이는데 끝나는 게 아니라, 그 정보를 바탕으로 컴파일러나 프레임워크 같은 도구들이 실제로 코드를 자동 생성 하거나, 동작을 제어하는 등의 작업을 처리한다.코드 요소는 클래스, 함수, 프로퍼티 등에 해당한다.따라서 정의를 조금 내 입맛대로 바꿔보자면 아래와 같다.클래스, 함수, 프로퍼티 등의 코드 요소에 부가 정보를 붙여 툴이나 컴파일러, 프레임워크 등에게 특별한 동작을..