-
[AOS] Android Studio Wildcard (*) Import ์ค์ 2022. 11. 6. 18:06๋ฐ์ํ๐คWildcard import (cannot be auto-corrected)โ๏ธ๐คWildcard import (cannot be auto-corrected)โโ๏ธ๐คWildcard import (cannot be auto-corrected)โโโ๏ธ๐ข๐ข๐ข๐ข๐ถ
Wildcard Import
wildcard import๋ ๋์ผํ ํจํค์ง์์ ์ฌ๋ฌ class๋ฅผ importํด ์ฌ์ฉํ๊ฒ ๋๋ ๊ฒฝ์ฐ ํธ์๋ฅผ ์ํด wildcard ๋ฌธ์๋ฅผ ์ฌ์ฉํด ๋ช ์ํ๋ ๊ฒ์ ๋งํ๋ค.
์๋ฅผ ๋ค์ด ์๋์ ๊ฐ์ด ์ฌ๋ฌ ์ค์ import๋ฌธ์ ํ ์ค๋ก ๊ฐ๋จํ๊ฒ ๋ช ์ํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋งํ๋ค.
import java.util.list
import java.util.arrays
import java.util.arraylist๐๐ป
import java.util.*
ktlint๋ฅผ ์ฌ์ฉํ๋ฉด wildcard import๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ํ๋ค.
wildcard import๊ฐ ์ฝ๋ ๊ฐ ํผ๋์ ์ ๋ฐํ๊ธฐ ๋๋ฌธ์ธ๋ฐ, wildcard import๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ ๋จ์ ๋ง์ด ์๋ ๊ฒ์ ์๋๋ค.
์๋๋ wildcard import๋ฅผ ์ฌ์ฉํ์ ๋์ ์ฅ๋จ์ ์ด๋ค.
์ฅ์
1. Clean Code
wildcard import๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธด import ๋ชฉ๋ก์ ์ค์ฌ ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์๋ค.2. ๋ฆฌํฉํ ๋ง ์ฉ์ด์ฑ
ํด๋์ค ์ด๋ฆ ๋ณ๊ฒฝ ์, ํน์ import ์ ์ธ์ ๋ณ๊ฒฝํ ํ์๊ฐ ์๋ค.
๋ํ ํด๋์ค์ ํจํค์ง ๋ณ๊ฒฝ ์ wildcard import๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋ง ํ ํ์๊ฐ ์๋ค.3. ์ฝ๋ ๊ฒฐํฉ์ฑ(coupling) ์ํ
wildcard import๋ ์ฝ๋ ๊ฐ ๊ฒฐํฉ์ฑ ์ํ๋ฅผ ๊ฐ์ ํ๋ค.
ํจํค์ง ๋ด์ ํน์ ํด๋์ค๊ฐ ์กด์ฌํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ๊ฒฐํฉ์ฑ์ด ์ํ๋๋ค.๋จ์
1. ํด๋์ค ์ด๋ฆ ์ถฉ๋
wildcard๋ฅผ ํตํด ๊ฐ์ ธ์จ ํจํค์ง์์ ๋ ์ด์์ ํด๋์ค ์ด๋ฆ์ด ๋ฐ๊ฒฌ๋๋ ๊ฒฝ์ฐ, ๋๋ ํจํค์ง๊ฐ ์ ๋ฐ์ดํธ ๋๋ฉด์ ํด๋์ค๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค.2. ๋ช ํ์ฑ ์ ํ
๊ฐ๊ฐ ์ฌ์ฉํ ํจํค์ง์ ํจ์๋ฅผ ๋ช ์ํด importํ ๊ฒฝ์ฐ๋ณด๋ค ๋ช ํํ๊ฒ ์ธ์งํ๊ธฐ ์ด๋ ต๋ค.Android Studio์์๋ ์๋ ์ค์ ์ผ๋ก 5๊ฐ ์ด์์ ๋์ผํ ํจํค์ง import๋ฅผ ์ฌ์ฉํ๋ฉด wildcard import๋ก ๋ณ๊ฒฝํด์ค๋ค.
ktlint๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ํธ์๋ฅผ ์ํด ์๋์ ๊ฐ์ด wildcard import ์ค์ ์ ํด์ ํด ์ฃผ๋ ๊ฒ์ด ํธ๋ฆฌํ๋ค.
Wildcard Import ์ค์ ํ๊ธฐ
* Mac OS ๊ธฐ์ค
1. Android Studio > Preferences...
2. Editor > Code Style > kotlin (or Java)
ํ์ฌ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ์ธ์ด (Kotlin ๋๋ Java)๋ฅผ ์ ํํด์ค๋ค.
Kotlin์์๋ง ์ค์ ์ ํ์ผ๋ฉด Java๋ฅผ ์ฌ์ฉํ ๋ ์ ์ฉ์ด ๋์ง ์๊ณ , Java์์๋ง ์ค์ ์ ํ์ผ๋ฉด Kotlin์ ์ฌ์ฉํ ๋ ์ ์ฉ๋์ง ์๋๋ค.
3. ๋ด๋ถ ๋ฉ๋ด์์ Imports ์ ํ
4. Use import with '*' when at least 5 names used -> Use single name import๋ก ๋ณ๊ฒฝ ํ Apply
๋ฐ์ํ'๐ฐ Android ๐ญ > ๐ ๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AOS] ForegroundService (0) 2022.11.15 [AOS] Android KakaoLink ์นด์นด์คํก ๊ณต์ ํ๊ธฐ 2 - Kakao Link ์ค์ (0) 2022.11.13 [AOS] Android KakaoLink ์นด์นด์คํก ๊ณต์ ํ๊ธฐ 1 - ์ด๊ธฐ ์ค์ (0) 2022.11.13 [AOS] Android Release key hash ๋ฐ๊ธํ๊ธฐ (0) 2022.11.12 [AOS] JDK ๋ฐ Gradle Version ์ค์ (0) 2022.10.29