File tree Expand file tree Collapse file tree 2 files changed +60
-0
lines changed
src/main/java/com/hyeonah/javalabs/designpattern/singleton/ex1 Expand file tree Collapse file tree 2 files changed +60
-0
lines changed Original file line number Diff line number Diff line change 1+ package com .hyeonah .javalabs .designpattern .singleton .ex1 ;
2+
3+
4+ import org .slf4j .Logger ;
5+ import org .slf4j .LoggerFactory ;
6+
7+ public class SystemSpeaker {
8+ private static final Logger log = LoggerFactory .getLogger (SystemSpeaker .class );
9+
10+ private static SystemSpeaker instance ;
11+ private int volume ;
12+
13+ private SystemSpeaker () {
14+ volume = 5 ;
15+ }
16+
17+ public static SystemSpeaker getInstance (){
18+ if (instance == null ){
19+ instance = new SystemSpeaker ();
20+ log .info ("new create system speaker -" );
21+ } else {
22+ log .info ("system speaker already exist!" );
23+ }
24+
25+ return instance ;
26+ }
27+
28+ public int getVolume () {
29+ return volume ;
30+ }
31+
32+ public void setVolume (final int volume ) {
33+ this .volume = volume ;
34+ }
35+ }
Original file line number Diff line number Diff line change 1+ package com .hyeonah .javalabs .designpattern .singleton .ex1 ;
2+
3+ public class SystemSpeakerMain {
4+
5+ public static void main (final String [] args ) {
6+ final SystemSpeaker speaker1 = SystemSpeaker .getInstance ();
7+ final SystemSpeaker speaker2 = SystemSpeaker .getInstance ();
8+
9+ /* ๋์ผํ ์ธ์คํด์ค ์ธ์ง ๋ณผ๋ฅจ ํ
์คํธ */
10+ System .out .println (speaker1 .getVolume ()); //5
11+ System .out .println (speaker2 .getVolume ()); //5
12+
13+ speaker1 .setVolume (12 );
14+ System .out .println (speaker1 .getVolume ()); //12
15+ System .out .println (speaker2 .getVolume ()); //13
16+
17+ speaker2 .setVolume (33 );
18+ System .out .println (speaker1 .getVolume ()); //33
19+ System .out .println (speaker2 .getVolume ()); //33
20+
21+ /* speaker1, speaker2์ ์ธ์คํด์ค์ ์ฃผ์๊ฐ์ด ๊ฐ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. */
22+ System .out .println (speaker1 ); // SystemSpeaker@27a8c74e
23+ System .out .println (speaker2 ); // SystemSpeaker@27a8c74e
24+ }
25+ }
You canโt perform that action at this time.
0 commit comments