X Tutup
Skip to content

Latest commit

ย 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
ย 
ย 

README.md

์ธ์Šคํ„ด์Šคํ™”๋ฅผ ๋ง‰์œผ๋ ค๋ฉด, private ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ผ

  • ์ •์  ๋ฉ”์„œ๋“œ, ์ •์  ํ•„๋“œ๋งŒ์„ ๋‹ด์€ ํด๋ž˜์Šค๋„ ๋‚˜๋ฆ„ ์“ฐ์ž„์ƒˆ๊ฐ€ ์žˆ์Œ.
    1. java.lang.Math
    • ์ •์ ์œผ๋กœ ์„ ์–ธ๋œ ๊ธฐ๋ณธ ํƒ€์ž… ๊ฐ’, ๋ฉ”์„œ๋“œ๋“œ๋ฅผ ๋ชจ์•„๋‘ .
        public final class Math { 
            // ์ƒ์„ฑ์ž๋Š” privateํ•˜๊ฒŒ,  
            private Math() {}
      
            // ๋‚˜๋จธ์ง€ ํ•„๋“œ๊ฐ’๋“ค์€ ๋ชจ๋‘ staticํ•˜๊ฒŒ ์„ ์–ธ ๋˜์–ด์žˆ์Œ.
            public static final double E = 2.7182818284590452354;
            public static final double PI = 3.14159265358979323846;
            ...
       }
    1. java.util.Collection ์ฒ˜๋Ÿผ ํŠน์ • ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ •์  ๋ฉ”์„œ๋“œ๋ฅผ ๋ชจ์•„๋‘˜ ์ˆ˜ ๋„ ์žˆ์Œ.
      • list, set, map๋“ฑ์„ ์ƒ์„ฑํ•˜์—ฌ returnํ•˜๋Š” ์ •์  ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.
    2. final ํด๋ž˜์Šค์™€ ๊ด€๋ จํ•œ ๋ฉ”์„œ๋“œ๋“ค์„ ๋ชจ์•„ ๋†“์„ ๋•Œ ์‚ฌ์šฉ.
  • ์ •์  ํ•„๋“œ, ์ •์  ๋ฉ”์„œ๋“œ๋“ค์„ ๋‹ด์€ ํด๋ž˜์Šค๋ฅผ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค ๋ผ ๋ถ€๋ฆ„.
  • ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋“ค์€ ์ธ์Šคํ„ด์Šค๋กœ ๋งŒ๋“œ๋ ค๊ณ  ์„ค๊ณ„ํ•œ ๊ฒƒ์ด ์•„๋‹˜.
    • ์ฆ‰ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค ๊ธฐ๋Šฅ์ด๋‹ค? ๊ทธ๋ ค๋จผ ์ƒ์„ฑ์ž๊ฐ€ ํ•˜๋Š” ์—ญํ• ์ด ์—†์Œ.
    • ๊ทธ๋ ‡์ง€๋งŒ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ƒ์„ฑ์ž๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์œผ๋ฉด ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์–ด์คŒ
  • ์ฆ‰ ์ƒ์„ฑ์ž๋ฅผ privateํ•˜๊ฒŒ ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ๊ฐœ๋ฐœ์ž๋“ค์ด ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šคํ™”๊ฐ€ ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ privateํ•œ ์ƒ์„ฑ์ž๋ฅผ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค์— ๋ช…์‹œํ•ด์ค˜์•ผ ํ•œ๋‹ค.

์งˆ๋ฌธ : ์ถ”์ƒ ํด๋ž˜์Šค๋กœ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•ด์ฃผ๋ฉด ์–ด๋–จ๊นŒ?

  • ์ผ๋‹จ ์ถ”์ƒํด๋ž˜์Šค๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Œ.
  • ๊ทธ๋ ‡์ง€๋งŒ, ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์€ ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ฆ‰ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๊ฐ€ ์ถ”์ƒ ํด๋ž˜์Šค๋กœ ์„ ์–ธ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์‚ฌ์šฉ์ž๊ฐ€ "์•„ ์ƒ์†๋ฐ›์•„์„œ ์ƒ์„ฑ์ž ๋งŒ๋“ค์–ด์•ผ ๊ฒ ๋‹น!" ์ด๋ผ๊ณ  ์˜คํ•ดํ•  ์ˆ˜๋„ ์žˆ์Œ.
  • ํ•ญ์ƒ ์˜๋„์น˜ ์•Š์€ ์˜ค๋ฅ˜๋ฅผ ๋ง‰์•„์•ผํ•จ..

์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค

public class UtilityClass {
    //privateํ•œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ์ •์˜๋ฅผ ํ†ตํ•ด, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์˜๋„์น˜ ์•Š์€ ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ๋ง‰๋Š”๋‹ค.
   private UtilityClass() {
       throw new AssertionError(); //์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ ๋˜์—ˆ์„ ๊ฒฝ์šฐ, ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋„๋ก ์„ค๊ณ„ํ•œ๋‹ค.
   }
}
  • ๋ช…์‹œ์ ์ธ ์ƒ์„ฑ์ž๊ฐ€ private์ด๋‹ˆ, ํด๋ž˜์Šค ๋ฐ”๊นฅ์—์„œ ํ•ด๋‹น ์ƒ์„ฑ์ž์— ์ ‘๊ทผํ•  ์ˆ˜๋Š” ์—†์Œ.
  • ๊ทธ๋ ‡์ง€๋งŒ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋Š” ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•˜๋‹ˆ ์‹ค์ˆ˜๋ผ๋„ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋„๋ก ๋ง‰์•„์ค„ ์ˆ˜ ์žˆ์Œ.
  • ๋˜ํ•œ privateํ•œ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์€ ์ƒ์†์„ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ๋„ ํ•œ๋‹ค.
    • ๋ชจ๋“  ์ƒ์„ฑ์ž๋Š” ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๋ฐ, ์ƒ์œ„ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๊ฐ€ privateํ•˜๊ฒŒ ์„ ์–ธ๋˜์–ด์žˆ์„ ๊ฒฝ์šฐ, ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ์ƒ์œ„ ํด๋ž˜์Šค์— ์ƒ์„ฑ์ž์— ์ ‘๊ทผํ•  ๊ธธ์ด ๋ง‰ํžˆ๊ฒŒ ๋จ.

์งˆ๋ฌธ ๋ฐ ๋Œ“๊ธ€

image

X Tutup