Android

[Kotiln] μ½”ν‹€λ¦° κΈ°λ³Έ μž‘μ„±λ²•ν”„λ‘œνŒŒμΌ

Forest Yun 2021. 6. 18. 17:54
728x90

1. μ½”ν‹€λ¦° 파일 μ •μ˜

​

(1) μ½”ν‹€λ¦° 파일

-클래슀 파일: ν•΄λ‹Ή 파일 λͺ…을 가진 ν΄λž˜μŠ€κ°€ μ„ μ–Έλœ 파일

-일반 파일: μ—¬λŸ¬ κ΅¬μ„±μš”μ†Œ(클래슀, λ³€μˆ˜, ν•¨μˆ˜ λ“±)κ°€ ν•¨κ»˜ μ„ μ–Έλœ 파일

​

*μ½”ν‹€λ¦° ν”„λ‘œκ·Έλž¨ ν™•μž₯자 kt

​

μ½”ν‹€λ¦° νŒŒμΌμ„ λ§Œλ“€ λ•Œ 일반 파일(File)κ³Ό 클래슀 파일(class)을 κ΅¬λΆ„ν•΄μ„œ λ§Œλ“€κΈ°λŠ” ν•˜μ§€λ§Œ λ‘˜μ˜ μ°¨μ΄λŠ” μ—†λ‹€.

ꡳ이 λ‘˜μ„ λ‚˜λˆ„λŠ” μ΄μœ λŠ” λ‹¨μˆœνžˆ μ½”λ“œλ₯Ό 읽기 μ‰½κ²Œ ν•˜λ €λŠ” μ˜λ„μ΄λ‹€.

μ½”ν‹€λ¦° νŒŒμΌμ— λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ₯Ό 클래슀둜 묢지 μ•Šμ•„λ„ λ˜λŠ”λ°, μ΄λŠ” 클래슀둜 묢지 μ•Šμ€ λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ₯Ό λ¬ΆκΈ° μœ„ν•΄ μžλ™μœΌλ‘œ 파일λͺ… 뒀에 Ktκ°€ μΆ”κ°€λœ ν΄λž˜μŠ€κ°€ μƒμ„±λ˜κΈ° λ•Œλ¬Έμ΄λ‹€.

​

예) 파일λͺ… test -> 클래슀 testKt.class

​

​

(2) 파일의 κ΅¬μ„±μš”μ†Œ

νŒ¨ν‚€μ§€(package), μž„ν¬νŠΈ(import), 클래슀(class), λ³€μˆ˜(variable), ν•¨μˆ˜(method) μ„ μ–Έκ³Ό 주석

​

파일의 κ΅¬μ„±μš”μ†Œ_y**nForest

​

μ½”ν‹€λ¦° νŒŒμΌμ€ 클래슀λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  λ³€μˆ˜μ™€ ν•¨μˆ˜λ‘œλ§Œ ꡬ성할 μˆ˜λ„ μžˆλ‹€. λ˜ν•œ λͺ¨λ“  κ΅¬μ„±μš”μ†Œλ₯Ό ν•¨μˆ˜λ‘œ 묢지 μ•Šμ•„λ„ 되며, λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ₯Ό 클래슀 외뢀에 μ„ μ–Έν•  수 μžˆλ‹€.

​

​

​

2. νŒ¨ν‚€μ§€

​

(1) νŒ¨ν‚€μ§€(package)λž€

κ΄€λ ¨λœ ν΄λž˜μŠ€λ“€μ„ λ¬ΆκΈ° μœ„ν•œ 물리적인 κ°œλ…μΈλ‹€. 물리적인 κ°œλ…μ΄λž€ μ‹€μ œλ‘œ ν΄λž˜μŠ€κ°€ μœ„μΉ˜ν•˜λŠ” 폴더λ₯Ό μ˜λ―Έν•œλ‹€.

​

AνŒŒμΌμ—μ„œ μ™ΈλΆ€ 파일(B파일)에 μ„ μ–Έλœ κ΅¬μ„±μš”μ†Œλ₯Ό μ΄μš©ν•˜κ³  μžˆμ„ λ•Œ A,B 파일이 같은 νŒ¨ν‚€μ§€μ— μžˆλ‹€λ©΄ BνŒŒμΌμ„ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ importꡬ문을 μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€. ν•˜μ§€λ§Œ μ™ΈλΆ€νŒŒμΌ(B파일)이 λ‹€λ₯Έ νŒ¨ν‚€μ§€μ— μžˆλ‹€λ©΄ import ꡬ문을 λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

​

​

(2) κ°€μƒνŒ¨ν‚€μ§€

μ½”ν‹€λ¦°μ—μ„œλŠ” νŒ¨ν‚€μ§€κ°€ κΌ­ μ‹€μ œλ‘œ 물리적인 폴더와 같을 ν•„μš”λŠ” μ—†λ‹€. 즉, μ½”ν‹€λ¦° 파일이 μžˆλŠ” 폴더와 λ‹€λ₯Έ νŒ¨ν‚€μ§€λͺ…을 μ‚¬μš©ν•  수 μžˆλ‹€. μ½”ν‹€λ¦° 파일의 μœ„μΉ˜μ™€ λ‹€λ₯Έ νŒ¨ν‚€μ§€λͺ…을 μ‚¬μš©ν•˜λ©΄, 컴파일 λ•Œ 클래슀 파일의 μœ„μΉ˜λŠ” μ½”λ“œμ— μ„ μ–Έν•œ νŒ¨ν‚€μ§€λͺ…μ˜ 폴더가 λœλ‹€.

​

가상 νŒ¨ν‚€μ§€_y**nForest

κ²°κ΅­ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” μ½”ν‹€λ¦° 파일의 μœ„μΉ˜λ§Œ νŒ¨ν‚€μ§€λͺ…κ³Ό λ‹€λ₯Έ 것일 뿐, μ»΄νŒŒμΌλ˜μ–΄ λŸ°νƒ€μž„ λ•Œ μ΄μš©λ˜λŠ” 클래슀 파일의 μœ„μΉ˜λŠ” νŒ¨ν‚€μ§€λͺ…κ³Ό κ°™λ‹€.

​

​

(3) λ³€μˆ˜/ν•¨μˆ˜ import

클래슀둜 μ„ μ–Έν•˜μ§€ μ•Šμ€ λ³€μˆ˜λ‚˜ ν•¨μˆ˜λŠ” ν΄λž˜μŠ€μ™€ λ™μΌν•˜κ²Œ importν•˜μ—¬ μ™ΈλΆ€μ—μ„œ μ΄μš©κ°€λŠ₯ν•˜λ‹€.

​

λ³€μˆ˜/ν•¨μˆ˜ import_y**nForest

 

λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ₯Ό 직접 importν•˜μ—¬ μ΄μš©ν•  수 μžˆλŠ” 것은 클래슀둜 묢지 μ•Šμ€ λ³€μˆ˜μ™€ ν•¨μˆ˜λ₯Ό μ΅œμƒμœ„ 레벨둜 κ΄€λ¦¬ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. 즉, νŒ¨ν‚€μ§€ 내에 μ„ μ–Έλœ μ „μ—­λ³€μˆ˜λ‚˜ μ „μ—­ν•¨μˆ˜μ²˜λŸΌ μ·¨κΈ‰λœλ‹€.

μ½”ν‹€λ¦°κ³Ό μžλ°”μ—λŠ” μ „μ—­λ³€μˆ˜, μ „μ—­ν•¨μˆ˜λΌλŠ” κ°œλ…μ΄ μ—†μ§€λ§Œ κ°œλ°œμžκ°€ μ „μ—­λ³€μˆ˜, μ „μ—­ν•¨μˆ˜μ²˜λŸΌ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ§€μ›ν•˜λŠ” 것이닀.

​

μžλ°”λŠ” λͺ¨λ“  λ³€μˆ˜λ‚˜ ν•¨μˆ˜κ°€ 클래슀 λ‹¨μœ„λ‘œ λ¬Άμ—¬μ•Ό ν•˜λ―€λ‘œ static으둜 μ„ μ–Έν•œ λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ§Œ 직접 importν•΄μ„œ μ‚¬μš©ν•  수 μžˆλ‹€. ν•˜μ§€λ§Œ 코틀린은 staticμ΄λΌλŠ” μ˜ˆμ•½μ–΄ μžμ²΄κ°€ μ—†μœΌλ©° λͺ¨λ“  λ³€μˆ˜λ‚˜ ν•¨μˆ˜κ°€ 클래슀 λ‹¨μœ„λ‘œ 묢일 ν•„μš”κ°€ μ—†λ‹€.

​

​

​

(4) 이름 λ³€κ²½ν•΄μ„œ import ν•˜κΈ°

클래슀λ₯Ό importν•  λ•Œ as λΌλŠ” μ˜ˆμ•½μ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 클래슀 이름을 λ°”κΏ€ 수 μžˆλ‹€.

import ν•  λ•Œ 이름을 λ³€κ²½ν•˜λŠ” 것은 μ—¬λŸ¬ νŒ¨ν‚€μ§€μ— μžˆλŠ” 같은 μ΄λ¦„μ˜ 클래슀λ₯Ό ν•˜λ‚˜μ˜ νŒŒμΌμ—μ„œ λͺ¨λ‘ μ΄μš©ν•˜λ €κ³  ν•  λ•Œ μœ μš©ν•˜λ‹€.

​

예)

java.util.Date 와 java.sql.Date λ₯Ό ν•œ νŒŒμΌμ—μ„œ μ‚¬μš©ν•˜λŠ” 경우

​

μ΄λ¦„λ³€κ²½ν•΄μ„œ import ν•˜κΈ°_y**nForest

​

​

​

​

​

κ³΅λΆ€ν•œ ꡐ재 - 'κΉ‘μƒ˜μ˜ μ½”ν‹€λ¦° ν”„λ‘œκ·Έλž˜λ°'

[좜처] [Kotiln] μ½”ν‹€λ¦° κΈ°λ³Έ μž‘μ„±λ²•|μž‘μ„±μž μž„λšλ”±

728x90