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

IT

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

728x90

๐Ÿ“Œ ์ ‘๊ทผ์ œ์–ด์ž

  • ๋ฉค๋ฒ„ ๋˜๋Š” ํด๋ž˜์Šค์— ์‚ฌ์šฉ๋˜์–ด ํ•ด๋‹นํ•˜๋Š” ๋ฉค๋ฒ„ ๋˜๋Š” ํด๋ž˜์Šค๋ฅผ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ œํ•œ

์ ‘๊ทผ ์ œ์–ด์ž์˜ ์ข…๋ฅ˜

์ ‘๊ทผ ์ œ์–ด์ž ์ข…๋ฅ˜

  • ์ ‘๊ทผ ์ œ์–ด์ž๊ฐ€ ์ง€์ •๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ๋Š” ์ ‘๊ทผ ์ œ์–ด์ž๊ฐ€ default ์ž„์„ ๋œปํ•œ๋‹ค.

์ ‘๊ทผ์ œ์–ด์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

ํ•ต์‹ฌ์€ ์บก์Šํ™” ๊ฒฐํ•ฉ๋„

  • ์บก์Šํ™” : ๊ฐ์ฒด์ง€ํ–ฅ์˜ 4๋Œ€ ํŠน์„ฑ ์ค‘ ํ•˜๋‚˜ , ์ •๋ณด์˜ ์€๋‹‰ํ™”
  • ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด
  • ์™ธ๋ถ€์—์„œ ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ๊ฐ์ถ”์–ด ๋ณต์žก์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด
//์ƒํ™ฉ 1 : public์œผ๋กœ ์ž‘์„ฑ์ด ๋˜์–ด ์ž˜๋ชป๋œ ๊ฐ’์„ ์ง€์ •ํ•œ๋‹ค๊ณ  ํ•ด๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.public class Time{
    public int hour;
    public int minute;
    public int second;
}

Time t = new Time();
t.hour = 28;//๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค, 0๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฌ๊ณ  24๋ณด๋‹ค๋Š” ์ž‘์€ ๋ฒ”์œ„์˜ ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
//ํ•ด๊ฒฐ๋ฐฉ๋ฒ•public class Time{
    private int hour;//private ๋˜๋Š” protected๋กœ ์ œํ•œ

//public ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ฐ„์ ‘์ ์œผ๋กœ ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹คpublic int getHour(){ return hour; }
    public void setHour(int hour){
        if(hour<0 || hour>23) return;
        this.hour=hour;
}
  • getter, setter
  • getter : ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜
  • setter : ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ง€์ •๋œ ๊ฐ’์„ ๊ฒ€์‚ฌํ•˜๊ณ  ๋งŒ์•ฝ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ’์ด๋ฉด ๊ฐ’์„ ๋ณ€๊ฒฝ

์ƒ์„ฑ์ž์˜ ์ ‘๊ทผ์ œ์–ด์ž

  • ์ธ์Šคํ„ด์Šค์˜ ์ƒ์„ฑ์„ ์ œํ•œ ๊ฐ€๋Šฅ
  • ๋ณดํ†ต์€ ํด๋ž˜์Šค์˜ ์ ‘๊ทผ ์ œ์–ด์ž์™€ ๋™์ผํ•˜์ง€๋งŒ ๋‹ค๋ฅด๊ฒŒ๋„ ์ง€์ • ๊ฐ€๋Šฅ (์‹ฑ๊ธ€ํ†ค ์˜ˆ์ œ)
  • ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์˜ ํ•ต์‹ฌ์€ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ž„. ๋”ฐ๋ผ์„œ ์ƒ์„ฑ์ž์˜ ์ ‘๊ทผ์ œ์–ด์ž๋ฅผ private์œผ๋กœ ์ง€์ •ํ•ด์คŒ์œผ๋กœ์จ ์™ธ๋ถ€์—์„œ ์‹ฑ๊ธ€ํ†ค ๊ฐ์ฒด์˜ ์ƒ์„ฑ์„ ๋ง‰๋Š”๋‹ค.
class Singleton {
	private Singleton(){ }//์™ธ๋ถ€์—์„œ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ถˆ๊ฐ€, ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋Š” ๊ฐ€๋Šฅ
}
//์ƒ์„ฑ์ž๊ฐ€ private์ผ๋•Œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” public ๋ฉ”์„œ๋“œ ์ œ๊ณต์„ ํ†ตํ•ด ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋กfinal class Singleton {//final์„ ์ถ”๊ฐ€ํ•ด ์ƒ์†ํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค๋ผ๊ณ  ์•Œ๋ฆฌ๋Š” ๊ฒƒ์ด ์ข‹์Œ

    private static Singleton singleton = new Singleton();//์ž์‹ ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ

    private Singleton() {//์ƒ์„ฑ์ž ํ˜ธ์ถœ ์ œํ•œ

    }

//getInstance() : ๊ณต์œ ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ๋งŒ ๋ฆฌํ„ดํ•ด์ค€๋‹ค//์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” public ๋ฉ”์„œ๋“œpublic static Singleton getInstance() {
        return singleton;//์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค ๋ฐ˜ํ™˜
    }
}

 

์›ฌ๋งŒํ•˜๋ฉด private๋กœ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค...