๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ”ญComputer Science๐Ÿ”ญ/JAVA

[JAVA] ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด..

ํŒจํ‚ค์ง€

  • ํด๋ž˜์Šค๋ฅผ ๊ตฌ๋ถ„ ์ง“๋Š” ํด๋”์˜ ๊ฐœ๋…
  • ์†Œ์Šค์˜ ์œ— ์ค„์— ์œ„์น˜ํ•˜๋ฉฐ, ์†Œ์Šค ํ•˜๋‚˜์— ํ•˜๋‚˜๋งŒ ์กด์žฌํ•œ๋‹ค. ํŒจํ‚ค์ง€ ์ด๋ฆ„๊ณผ ์œ„์น˜ํ•œ ํด๋”์˜ ์ด๋ฆ„์€ ๊ฐ™๋‹ค.
  • ๋ชจ๋“  ํด๋ž˜์Šค์—๋Š” ์ •์˜๋œ ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ํŒจํ‚ค์ง€ ์ด๋ฆ„์ด ์žˆ๋”ฐ. ์ด ๋‘˜์„ ํ•ฉ์น˜๋ฉด ์™„์ „ํ•œ ํด๋ž˜์Šค๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
    FQCN(Fully Qualified Class Name)์ด๋ผ๊ณ  ํ•œ๋‹ค.

ex) Stringํด๋ž˜์Šค์˜ ํŒจํ‚ค์ง€ --> java.lang.String

ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๊ทœ์น™

java -> ์ž๋ฐ” ๊ธฐ๋ณธ ํŒจํ‚ค์ง€

javax -> ์ž๋ฐ” ํ™•์žฅ ํŒจํ‚ค์ง€

org -> ์ผ๋ฐ˜์ ์œผ๋กœ ๋น„์˜๋ฆฌ๋‹จ์ฒด ํŒจํ‚ค์ง€

com -> ์ผ๋ฐ˜์ ์œผ๋กœ ์˜๋ฆฌ๋‹จ์ฒด ํŒจํ‚ค์ง€

 

๋นŒํŠธ์ธ ํŒจํ‚ค์ง€๋Š” ์ž๋ฐ”๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค์ด๋‹ค. ๋”ฐ๋กœ ์ž„ํฌํŠธํ•˜์ง€ ์•Š์•„๋„ ์ž๋ฐ”๊ฐ€ ์•Œ์•„์„œ ๊ฐ€์ ธ์˜จ๋‹ค. (import ํ•˜์ง€ ์•Š์•„๋„ ๋จ)

 

import ํ‚ค์›Œ๋“œ

-> 'import ํŒจํ‚ค์ง€๋ช….ํด๋ž˜์Šค๋ช…' ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ

์ž„ํฌํŠธ ํ‚ค์›Œ๋“œ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋‹ค๋ฅธํŒจํ‚ค์ง€์— ์žˆ๋Š” ํด๋ž˜์Šค๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

import static์€ staticํ•œ ๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

์ ‘๊ทผ ์ œ์–ด์ž

์ ‘๊ทผ์ œ์–ด์ž์—๋Š” public, private, protected ๋ง๊ณ  ํ•œ๊ฐ€์ง€๊ฐ€ ๋” ์žˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ private-package์ด๋‹ค.

  • public : ๋ˆ„๊ตฌ๋‚˜ ์ ‘๊ทผ ๊ฐ€๋Šฅ
  • protected : ๊ฐ™์€ ํŒจํ‚ค์ง€ ์žˆ๊ฑฐ๋‚˜(OR) ์ƒ์† ๋ฐ›๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • private-package : ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅ
  • private : ํ•ด๋‹น ํด๋ž˜์Šค ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ

https://kils-log-of-develop.tistory.com/430

ํด๋ž˜์Šค ํŒจ์Šค

ํด๋ž˜์Šค๋ฅผ ์ฐพ๋Š” ๊ธฐ์ค€ ๊ฒฝ๋กœ

JVM์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ํด๋ž˜์Šค ํŒŒ์ผ์„ ์ฐพ๋Š”๋ฐ 'ํด๋ž˜์Šค ํŒจ์Šค'๋ฅผ ์ด์šฉํ•œ๋‹ค.

-> JVM์€ ํด๋ž˜์ŠคํŒจ์Šค ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•˜์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋ž˜์Šค๋“ค์˜ ์œ„์น˜๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค.

 

Reference