🐱 With All My Animal 🐶
💡 [ 22일차 11/8일 ] 💡
📌 오늘의 기술면접 질문 Q&A
enum class Direction {
SOUTH, NORTH, WEST, EAST
}
enumerated type의 줄임말로 열거형이라는 뜻을 가지고 있으며 서로 연관되거나 또는 관련이 있는 상수들의 집합을 의미한다.
Enum은 언제 사용하면 좋은가요?
- 사용하는 인스턴스의 수가 정해져있고, 관련되어 처리할 수 있는 상수값이 여러 개 존재할 때 사용한다.
ex) 로또 프로그램에서 1등부터 5등까지를 의미하는 등수와 각 등수가 만들어지는 조건, 그리고 각 등수에 해당하는 상금을 묶어 낼 필요가 있을 경우
enum LottoRank {
FIRST(6, false, 2_000_000_000),
SECOND(5, true, 30_000_000),
THIRD(5, false, 1_500_000),
FOURTH(4, false, 50_000),
FIFTH(3, false, 5_000),
NONE(0, false, 0);
}
Retrofit은 안드로이드 애플리케이션에서 통신 기능에 사용하는 코드를 사용하기 쉽게 만들어놓은 라이브러리이다.
다양한 플랫폼에서 REST 웹 서비스와 API를 손쉽게 사용하기 위한 라이브러리이다.
HTTP 요청을 효율적으로 처리하고, JSON 또는 XML과 같은 데이터 형식을 처리하는데 도움을 주는 라이브러리다.
🌼 Retrofit 특징
1) REST API 통신
2) 자동 직렬화 및 역직렬화
3) 안전한 타입 지원
4) 커스터마이징 가능
🌼 Retrofit 사용법
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
interface ApiService {
@GET("users/{user}")
suspend fun getUser(@Path("user") username: String): User
}
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val apiService = retrofit.create(ApiService::class.java)
val user = apiService.getUser("Jxxn_a")
class Person(val name : String, val age : Int)
val person = Person("Alice", 30)
enum class Color {
RED, GREEN, BLUE
}
val selectedColor = Color.RED