ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

     

     

     

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.