์ฑ๊ธํค (Singleton)
- ์ ์ฒด ํ๋ก๊ทธ๋จ์์ ๋จ ํ๋์ ๊ฐ์ฒด์ ์์ฑ๋ง ๋ณด์ฅ๋๋ ๊ฒฝ์ฐ
- ex) ํ์ฌ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ํด๋์ค๋ฅผ ์์ฑํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ํ์ฌ๋ช ์ ํ๋๋ง ์กด์ฌ
- ์ฅ์ : ํ๋ฒ์ ๊ฐ์ฒด ์์ฑ์ผ๋ก ์ฌ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ ์ ์์
- ๋จ์ : ์ฑ๊ธํค์ ์์ ํ ๊ฒฝ์ฐ ์ฑ๊ธํค์ ์ฌ์ฉํ๋ ํด๋์ค๋ค์ ์ํฅ์ ์ค ์ ์์ด ํ๋ก๊ทธ๋จ ์์ ์ด ๋ณต์กํด์ง (์์กด๋๊ฐ ๋์ - ์์กด๋์ ๊ฒฐํฉ๋๊ฐ ๋ฎ์์๋ก ์ข์ ํ๋ก๊ทธ๋จ)
// ์ฑ๊ธํค ๊ฐ์ฒด์ ์ ์ธ
static ํด๋์ค๋ช
singleton = new ์์ฑ์();
// ์ฑ๊ธํค ๊ฐ์ฒด์ ์ฌ์ฉ
ํด๋์ค๋ช
.singleton
package Day03;
public class Singleton {
// ์ฑ๊ธํค ๊ฐ์ฒด ์์ฑ
// ์ ์ฒด ํ๋ก๊ทธ๋จ์์ ํ๋์ ๊ฐ์ฒด๋ง ์์ฑ ๊ฐ๋ฅ
private static Singleton singleton = new Singleton();
private Singleton() {
}
// ํด๋์ค์์ ์์ฑ๋ ์ฑ๊ธํค ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฉ์๋
// ์ ์ ๋ฉ์๋์ด๊ณ ๋ฐํํ์
Singleton ๊ฐ์ฒด์ธ gerIntance() ๋ฉ์๋
static Singleton getIntance() {
return singleton;
}
}
package Day03;
public class _02_useOfsingleton {
public static void main(String[] args) {
// TODO Auto-generated method stub
// ์ด๋ฏธ Singleton ํด๋์ค์ ํ๋์ ๊ฐ์ฒด๊ฐ ์์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์ค๋ฅ
//Singleton s1 = new Singleton();
// Singleton ํด๋์ค์ ์์ฑ๋์ด ์๋ ๊ฐ์ฒด๋ฅผ ๋ฐํ๋ฐ์ ์ฌ์ฉ
Singleton s1 = Singleton.getIntance();
Singleton s2 = Singleton.getIntance();
// ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ด ์์ฑ๋์ด ์ ์ฅ
Car car1 = new Car();
Car car2 = new Car();
if(s1 == s2) {
System.out.println("๊ฐ์ singleton ๊ฐ์ฒด");
} else {
System.out.println("๋ค๋ฅธ singleton ๊ฐ์ฒด");
}
if(car1 == car2) {
System.out.println("๊ฐ์ car ๊ฐ์ฒด");
} else {
System.out.println("๋ค๋ฅธ car ๊ฐ์ฒด");
}
}
}
LIST
'#1 Language ๐ > 1-4 JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ์์ (0) | 2022.11.06 |
---|---|
[JAVA] Final ํ๋ (0) | 2022.11.06 |
[JAVA] ์ธ์คํด์ค ๋ฉค๋ฒ, ์ ์ ๋ฉค๋ฒ ์ฌ์ฉ (0) | 2022.11.06 |
[JAVA] static ๋ฉ์๋ (0) | 2022.11.06 |
[JAVA] ์ง์ญ๋ณ์(Local variable) (0) | 2022.11.06 |