๐Ÿ™‹ ์„ธ ํ•™์ƒ์˜ ์ ์ˆ˜ ์ž…๋ ฅ๋ฐ›๊ธฐ

  • ๋ฌธ์ œ๋ฅผ ๋ณด๋Š” ์ˆœ๊ฐ„ ๋ญ˜ ๊ณ ๋ฏผํ•ด์•ผ ํ• ๊นŒ?
    - ๋ณ€์ˆ˜ 3๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋„ค / ํƒ€์ž…์€ ๋ญ˜๋กœ ํ• ๊นŒ? / ์ „๋ณ€์œผ๋กœ ํ• ๊นŒ? ์•„๋‹˜ ์ง€๋ณ€์œผ๋กœ ํ•ด๋„ ๋˜๋‚˜? / main ๋ฉ”์†Œ๋“œ๊ฐ€ ํ•„์š”ํ•œ ํด๋ž˜์Šค์ธ๊ฐ€?
<์˜ˆ์ œ1>
package com.step21;
class A {
	// ์ฒซ ๋ฒˆ์งธ ํ•™์ƒ ์ ์ˆ˜๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜ ์„ ์–ธ
	int n1 = 70;
	int n2 = 80; 
	int n3 = 90;
	void hap1() { // ๋ฆฌํ„ดํƒ€์ž… void
		int tot = n1+n2+n3;
	}
}	

public class Amain {

	public static void main(String[] args) {
		A a = new A(); // ์ „์—ญ๋ณ€์ˆ˜๋Š” ์œ ์ง€๋œ๋‹ค
		System.out.println(a.n1); 
		System.out.println(a.tot); 
        // tot๋Š” ์ง€๋ณ€์ด๋ผ์„œ ๋‹ค๋ฅธ ์™ธ๋ถ€ ํด๋ž˜์Šค์—์„œ ์žฌ์‚ฌ์šฉ ๋ถˆ๊ฐ€
        // (์žฌ์‚ฌ์šฉ์„ฑ์ด ๋–จ์–ด์ง€๋Š” ์ฝ”๋“œ)
	}
}
์ถœ๋ ฅ: 70
      0
  • ์ „์—ญ๋ณ€์ˆ˜: ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๊ฐ’(์ดˆ๊ธฐํ™” ์ƒ๋žต ๊ฐ€๋Šฅ)
    - ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜.๋ณ€์ˆ˜๋ช…์œผ๋กœ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์ „๋ณ€ ๋ฟ์ž„
  • ์™œ class A ์ „์—ญ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ–ˆ์„๊นŒ?
    - ํ•ด๋‹น ํ•™์ƒ์— ๋Œ€ํ•œ ์ ์ˆ˜์ด๋‹ˆ๊นŒ(์ ์ˆ˜๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š์œผ๋‹ˆ๊นŒ)
  • ๋งŒ์•ฝ A a = new A(); ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ a = null;ํ•˜๋ฉด ๋‹ค์‹œ ์ดˆ๊ธฐํ™”(๋””ํดํŠธ๊ฐ’: ๋ชจ๋ฅธ๋‹ค/๊ฒฐ์ •๋˜์ง€ ์•Š์•˜๋‹ค).
  • a = new A();๋กœ ์žฌ์ƒ์„ฑ์„ ํ•  ๊ฒฝ์šฐ ๋ฏธ๋ฌ˜ํ•œ ๋ฌธ์ œ ๋ฐœ์ƒ
    ์™œ? ์›๋ณธ์ด ์•„๋‹Œ ๋ณต์‚ฌ๋ณธ์ด ํ•œ ๊ฐœ ๋” ๋งŒ๋“ค์–ด์กŒ์œผ๋‹ˆ๊นŒ
    โ†’ ์ด์ „์— ์ฐธ์กฐํ•œ ํด๋ž˜์Šค๋Š” ๋‚ ์•„๊ฐ„ ๊ฒƒ(candidate)
  • ๋ฆฌํ„ดํƒ€์ž… void ๊ด€๋ จํ•ด์„œ ์—ฐ์Šตํ•˜์ž
    ex. int ๋˜๋Š” ์ „๋ณ€์„ ๊ตณ์ด ์ง€๋ณ€(ํŒŒ๋ผ๋ฏธํ„ฐ์ž๋ฆฌ)์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ
<์˜ˆ์ œ1-2>
package com.step21;
class A {
	int n1 = 70;
	int n2 = 80; 
	int n3 = 90;
	int tot = 0;
	void hap1() { 
		int tot = n1+n2+n3;
		// ์›์‹œํ˜• ํƒ€์ž…์€ ํ•œ ๋ฒˆ์— ํ•œ ๊ฐ€์ง€ ๊ฐ’๋งŒ ๋‹ด๊น€ - ์—ฌ๋Ÿฌ ๋ฒˆ ํ•˜๋ฉด ๋ฎ์–ด์“ฐ๊ธฐ ๋˜๋Š” ๊ฒƒ
		this.tot = tot; // ์ „๋ณ€์— ๋Œ€ํ•œ ์žฌ์ •์˜(0->240)
	}
}	

public class Amain {

	public static void main(String[] args) {
		A a = new A();
		System.out.println(a.n1);
		a.hap1(); 
        // ์ด๊ฒŒ ํ˜ธ์ถœ์ด ๋˜์–ด์•ผ this.tot = tot;๊ฐ€ ์‹คํ–‰ ๊ธฐํšŒ๋ฅผ ๊ฐ€์ง
		System.out.println(a.tot);
	}
}
์ถœ๋ ฅ: 70
     240
<์˜ˆ์ œ2-์˜ค๋ฒ„๋กœ๋”ฉ>
package com.step21;

class B{
	int n1 = 70;
	int n2 = 80;
	int n3 = 90;
	int hap1() {
		int hap = n1 + n2 + n3;
		return hap;
	}
	int hap1(int n1, int n2, int n3) {
		int hap = n1 + n2 + n3;
		return hap; // 180 // 50 + 60 + 70
	}
}
public class Bmain {
	public static void main(String[] args) {
		B a = new B();
		int hap = a.hap1(); // ์ „๋ณ€์˜ ๊ฐ’์ด ๋”ํ•ด์ง€๋‹ˆ๊นŒ
		System.out.println(hap); // 240 ์ถœ๋ ฅ
        // ์ „๋ณ€์˜ ๊ฐ’: ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ๋„ ๋™์ผํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค
		hap = a.hap1(50, 60, 70); 
        // ์œ„์—์„œ ์ด๋ฏธ int ์„ ์–ธ์„ ํ•ด์คฌ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต ์ƒ๋žต
		System.out.println(hap); // 180 ์ถœ๋ ฅ
        // ํ•ฉ์˜ ๊ฐ’์„ ๋Œ๋ ค๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ
		System.out.println();
	}
}
์ถœ๋ ฅ: 240
      180
  • ์ž๋ฐ”์—์„œ๋Š” ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ค‘๋ณต ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค
    - ์ด๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฑด ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ๊ณผ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ์ปจ๋ฒค์…˜์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ ex. ์˜ˆ์ œ2 - int hap1()
  • ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์€ ๋ฐ˜๋“œ์‹œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ํƒ€์ž…์ด ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค.
  • ๋ฆฌํ„ดํƒ€์ž…์ด ์žˆ๊ณ  ์—†๊ณ ๋Š” ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์— ์˜ํ–ฅ์ด ์—†๋‹ค

๐Ÿ™‹โ€ Q. int hap = a.hap1(); / a.hap(); ํ˜ธ์ถœ์— ์–ด๋–ค ์ฐจ์ด?
โ†’ a.hap()์€ ์ดˆ๊ธฐ ํ˜ธ์ถœ / ๋Œ€์ž…์—ฐ์‚ฐ์ž๋กœ ํ˜ธ์ถœํ•œ ๊ฒƒ์€ ํ˜ธ์ถœ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ์žฌ์ƒ์„ฑ์„ ํ•  ๋•Œ

<์˜ˆ์ œ3-์˜ค๋ฒ„๋กœ๋”ฉ>
package com.step21;

import javax.swing.JFrame;
// ์ด๋ฆ„์€ ๊ฐ™์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ์ด๋‹ค. - ๊ฒฐ๋ก 
public class Frame1 {
	JFrame jf = new JFrame(); 
	void initDisplay() {
		jf.setSize(500, 400); // ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณ„๋กœ์ž„
		jf.setVisible(true); // true๋„ ์ƒ์ˆ˜
        //์ด๋Ÿด ๋•Œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด์šฉํ•ด์„œ ์ƒ์ˆ˜ ์ž๋ฆฌ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค
	}
	void initDisplay(int width, int height) { 
    // ๋ฉ”์†Œ๋“œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ž๋ฆฌ๋Š” ํ˜ธ์ถœ๋  ๋•Œ ๊ฒฐ์ •
    // ํ•˜๋‚˜๋Š” ๋ณ€์ˆ˜๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜์ง€๋งŒ, ๋‚˜๋จธ์ง€๋Š” ์ƒ์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•จ. 
    // (๋ถˆ๋ฆฌ์–ธ์ด ์—†์œผ๋‹ˆ๊นŒ ๋””ํดํŠธ๋กœ ์ฒ˜๋ฆฌ๋˜๋‹ˆ๊นŒ)
		jf.setSize(width, height);
		jf.setVisible(true); 
	}
	void initDisplayint (int width, int height, boolean isView) {
		jf.setSize(width, height);
		jf.setVisible(isView); 
	}

	public static void main(String[] args) {
		Frame1 f = new Frame1();
		~~f.initDisplay(500, 400);~~ 
		f.initDisplay(500, 400, false); 
        // ๊ฐ’์— ์˜ํ•œ ํ˜ธ์ถœ(ํ˜ธ์ถœ๋  ๋•Œ ์ง€์—ญ๋ณ€์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™” ๋จ)
	}

}
 ์ด๊ฑฐ ์™œ ์˜ค๋ฅ˜๋‚˜์ง€?
  • ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ์–ด๋ ต๋‹ค(ex. ์•ฑ์œผ๋กœ ์Œ์•…์„ ๋“ฃ๋Š” ์ค‘์— ์ „ํ™”๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ)
<์˜ˆ์ œ4>
package com.step21;

class C {
	int n1 = 70;
	int n2 = 80;
	int n3 = 90;
}
class C1{
	int hap1() { 
		C c = new C(); 
        // ๋ฐ์ดํ„ฐ๋ฅผ ์ฅ๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ์ง€๋ณ€์œผ๋กœ ์ธ์Šคํ„ด์Šคํ™” ํ•˜์˜€๋‹ค
		int hap = c.n1 + c.n2 + c.n3;
		return hap;
	}
	int hap1(C c) {
		int hap = c.n1 + c.n2 + c.n3;
		return hap;
	}	
}
public class Cmain {
	public static void main(String[] args) {
		C c = new C();
		C1 a = new C1();
		int hap = a.hap1();
		System.out.println(hap);
		c.n1 = 50;
		c.n2 = 60;
		c.n3 = 50;
		hap = a.hap1(c);
		System.out.println(hap);
	}
}
  • class C: ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋กœ ์„ ์–ธ
  • class C1: Cํด๋ž˜์Šค์—์„œ ์ „๋‹ฌ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์ดํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฉ”์†Œ๋“œ ์„ ์–ธ
    โ†’ ๊ทธ๋Ÿฐ๋ฐ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๋ฅผ 2๊ฐœ ์ •์˜ํ•จ(๋ฉ”์†Œ๋“œ์˜ค๋ฒ„๋กœ๋”ฉ: ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐœ์ˆ˜๋‚˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๋‹ค)
  • int hap1(): hap1 ๋ฉ”์†Œ๋“œ ์•ˆ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๋Š” Cํด๋ž˜์Šค๋ฅผ ์ธ์Šคํ„ด์Šคํ™” ํ•จ(main์—†์Œ/๋ณ€์ˆ˜๋งŒ 3๊ฐœ)
    โ†’ ํ•™์ƒ์ˆ˜๊ฐ€ 10๋ช…์ด๋ผ๋ฉด ์ธ์Šคํ„ด์Šคํ™”๋ฅผ 10๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผํ•œ๋‹ค(๊ทธ๋ž˜์„œ for๋ฌธ, while๋ฌธ ๋ฐ˜๋ณต๋ฌธ ๊ณต๋ถ€ ํ•„์š”ํ•จ)
<์˜ˆ์ œ5-for๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌ>
package com.step21;

public class Student {
	int html = 0;
	int css = 0;
	int java = 0;
	public static void main(String[] args) {
		int i; // 3. ๊ทธ๋ž˜์„œ ์„ ์–ธ์„ ๋ฐ–์—๋‹ค ํ•ด์คŒ
		~~for(int i=0;i<3;i=i+1)~~ { // 1. for๋ฌธ ์•ˆ์—์„œ ์„ ์–ธ
		for(i=0;i<3;i=i+1) { // 0->1->2->3
			Student s = new Student();
			System.out.println(s);
			System.out.println(i);
		} // end of for
		~~System.out.println(i);~~
        // 2. for๋ฌธ ์•ˆ์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๋ฐ–์—์„œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
	}
}
  • for(1-์ดˆ๊ธฐํ™”;2-์กฐ๊ฑด์‹;3-์ฆ๊ฐ์—ฐ์‚ฐ์ž)
  • for๋ฌธ์—์„œ ์กฐ๊ฑด์‹์ด true๋ฉด for๋ฌธ ์•ˆ์— ์‹คํ–‰๋ฌธ์ด ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰๋จ
<์˜ˆ์ œ6>
package com.step21;

public class Student {
	int html 	= 0;
	int css 	= 0;
	int java 	= 0;
	public static void main(String[] args) {
		Student s = new Student();
		s.html = 70;
		s.css = 80;
		s.java = 90;
		System.out.println(s);
		s = new Student();
		s.html = 60;
		s.css = 70;
		s.java = 80;		
		System.out.println(s);
		s = new Student();
		s.html = 50;
		s.css = 60;
		s.java = 70;		
		System.out.println(s);
	}
}
์ถœ๋ ฅ: com.step21.Student@3d012ddd
     com.step21.Student@626b2d4a
     com.step21.Student@5e91993f
  • ๊ฐ™์€ ํƒ€์ž…์˜ ํด๋ž˜์Šค๋ฅผ ์ธ์Šคํ„ด์Šคํ™” ํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ์ „์—ญ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค
<์˜ˆ์ œ7>
package com.step21;

public class Z {
	int i = 1;
	void m1() {
		Z z = new Z();
		System.out.println(z); 
        // ์—ฌ๊ธฐ์„œ ์ถœ๋ ฅ๋˜๋Š” ์ฃผ์†Œ๋ฒˆ์ง€์™€ 13๋ฒˆ์˜ ์ฃผ์†Œ๋ฒˆ์ง€๊ฐ€ ๊ฐ™๋‹ค
		System.out.println(z.i); // ์ถœ๋ ฅ: 1
		m2(z);
	}
	void m2(Z z) {
		// ์—ฌ๊ธฐ์—์„œ 6๋ฒˆ์— ์ƒ์„ฑ๋œ ์ฃผ์†Œ๋ฒˆ์ง€๋ฅผ ๊ตณ์ด ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?
		// ํŒŒ๋ผ๋ฏธํ„ฐ ์ž๋ฆฌ์— ์ฐธ์กฐํ˜• ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ๋„˜๊ธฐ๋ฉด ์›๋ณธ์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค-๊ฒฐ๋ก 
		System.out.println(z); 
	}
	public static void main(String[] args) {
		Z z = new Z();
		z.m1();
	}
}
<์˜ˆ์ œ8-Scanner>
package com.step21;

import java.util.Scanner;
// JVM์€ java.lang ํด๋” ์•ˆ์— ์žˆ๋Š” ํด๋ž˜์Šค๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค
// ๋‚˜๋จธ์ง€ ํด๋”์— ์žˆ๋Š” ํด๋ž˜์Šค๋Š” ๋ฐ˜๋“œ์‹œ import๋ฌธ ์ถ”๊ฐ€ํ•ด์•ผ ํ•จ
class E {
	// ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ํ•  ๋•Œ๋„ ๋ฉ”์†Œ๋“œ์™€ ๋™์ผํ•˜๊ฒŒ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜๋‚˜ ํƒ€์ž…์„ ๋งž์ถฐ์•ผ ํ•จ
	Scanner sc = new Scanner(System.in); 
	// ์ธ์Šคํ„ด์Šคํ™”๋„ ์ „์—ญ์—์„œ ํ•˜๋Š” ๊ฒƒ๊ณผ ์ง€์—ญ์—์„œ ํ•˜๋Š” ๊ฒƒ์„ ๋‚˜๋ˆ„์–ด ์—ฐ์Šตํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค
	// getFirst๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•ด์„œ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”
	// ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด์‹œ์˜ค
	public int getFirst() {
		int num = 0;
		// ์ „์—ญ๋ณ€์ˆ˜์˜ ์ž๋ฆฌ์—์„œ sc๋ฅผ ์ƒ์„ฑํ•˜์˜€์œผ๋ฏ€๋กœ 
        // getFirst ๋ฉ”์†Œ๋“œ ์•ˆ์—์„œ๋„ sc๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
		num = sc.nextInt(); // ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฐ์ •ํ•˜๋Š”(์ž…๋ ฅํ•˜๋Š”) ๊ฐ’
		return num; // ์ „๋ณ€์œผ๋กœ ํ• ๊นŒ? ์•„๋‹˜ ์ง€๋ณ€์œผ๋กœ ํ•ด์•ผํ• ๊นŒ?
	}
}
public class Emain {

	public static void main(String[] args) {
		// ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•ด ๋ณด์„ธ์š”
		E e = new E();
		System.out.println("์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.");
		int first = e.getFirst();
		System.out.println("์ฒซ ๋ฒˆ์งธ ์ž…๋ ฅ ๋ฐ›์€ ์ˆซ์ž๋Š” "+first+"์ž…๋‹ˆ๋‹ค.");
	} // end of main
} // end of Emain

๐Ÿ™‹ ์Šค์บ๋„ˆ ํด๋ž˜์Šค๋ฅผ ์™œ ๊ฐ•์กฐํ• ๊นŒ?

  • ์‚ฌ์šฉ์ž์™€ ๊ฐœ๋ฐœ์ž ์‚ฌ์ด์˜ ์†Œํ†ต์€ ํ™”๋ฉด ๊ตฌํ˜„์„ ํ†ตํ•ด์„œ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๋Š” ์•„์ง html ๊ณต๋ถ€๋ฅผ ํ•˜์ง€ ์•Š๊ณ  ์žˆ์–ด์„œ ์ฝ˜์†”์ฐฝ์„ ํ™œ์šฉํ•œ ์†Œํ†ต์„ ์‹œ๋„ํ•  ๊ณ„ํš์ด๋‹ค.
    โ†’ ๊ฒฐ๊ตญ ํ™”๋ฉด์—์„œ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•˜๋Š” ๊ฐ’๋“ค์ด ํŒŒ๋ผ๋ฏธํ„ฐ ์ž๋ฆฌ๋ฅผ ์ฑ„์›Œ์•ผ ํ•œ๋‹ค(์‚ฌ์šฉ์ž๊ฐ€(์—…๋ฌด๋‹ด๋‹น์ž๊ฐ€) ์ž…๋ ฅํ•œ ๊ฐ’์„ ๋ฐ›์•„์˜ค๊ธฐ)
<์˜ˆ์ œ9-Scanner>
package com.step3;

import java.util.Scanner;
// ๋ฉ”๋‰ด ์„ ํƒํ•˜๊ธฐ
public class Scan1 {

	public static void main(String[] args) {
		System.out.println("๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”.[์ƒˆ๊ฒŒ์ž„:1, ์ •๋‹ตํ™•์ธ:2, ์ข…๋ฃŒ:3]");
		Scanner sc = new Scanner(System.in);
		// ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ๋ฉ”๋‰ด ๋ฒˆํ˜ธ๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜ ์„ ์–ธ
		int menu = 0;
		// for(๋ณ€์ˆ˜์„ ์–ธ๋ฐ์ดˆ๊ธฐํ™”;์กฐ๊ฑด์‹-true or false;์ฆ๊ฐ์—ฐ์‚ฐ์ž);
		for(int i=0;i<3;i=i+1) {
			System.out.println(i); // 0 ์ถœ๋ ฅ 
            // ์™œ 1์€ ์•ˆ ๋‚˜์˜ค์ง€? ๋‹น์‹ ์˜ ์„ ํƒ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘
			// 3์ด ๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋Œ๊ณ  ์žˆ๋‹ค
			menu = sc.nextInt();
			if(menu == 1) { 
				System.out.println("์ƒˆ ๊ฒŒ์ž„์„ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.");
			}
			else if(menu ==2) {
				System.out.println("์ •๋‹ต๋ณด๊ธฐ๋ฅผ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.");
				
			}
			else if(3 == menu) {
				System.out.println("์ข…๋ฃŒ๋ฅผ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค");
			} // end of if
		} // end of for
				System.out.println("for๋ฌธ ํƒˆ์ถœ - ์—ฌ๊ธฐ๋กœ....");
	} // end of main
} // end of Scan1
  • n-s ์ฐจํŠธ ์ฐธ๊ณ 
<์˜ˆ์ œ10>
package com.step3;

import java.util.Scanner;

public class Scan2 {
	public static void main(String[] args) {
		System.out.println("๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”.[์ƒˆ๊ฒŒ์ž„:1, ์ •๋‹ตํ™•์ธ:2, ์ข…๋ฃŒ:3]");
		Scanner sc = new Scanner(System.in);
		int menu = 0;
		for(int i=0;i<3;i=i+1) {
			System.out.println(i); 
			menu = sc.nextInt();
			if(menu == 1) { 
				System.out.println("์ƒˆ ๊ฒŒ์ž„์„ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.");
			}
			if(menu == 2) { 
            // else๊ฐ€ ์—†์œผ๋ฉด ์•„๋ž˜ ์กฐ๊ฑด๋„ ๋”ฐ์ง„๋‹ค-> ์ผ๋Ÿ‰์ด ๋Š˜์–ด๋‚œ๋‹ค
				System.out.println("์ •๋‹ต๋ณด๊ธฐ๋ฅผ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.");
			}
			if(3 == menu) {
				System.out.println("์ข…๋ฃŒ๋ฅผ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค");
			} 
		} 
				System.out.println("for๋ฌธ ํƒˆ์ถœ - ์—ฌ๊ธฐ๋กœ....");
	} 
} 
  • if๋ฌธ ์•ž์— else๋ฅผ ๋นผ๋ฉด ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด์ด ๋งŒ์กฑํ–ˆ์Œ์—๋„ ๋‹ค์Œ ์กฐ๊ฑด์„ ์ผ๋‹จ ๋”ฐ์ง„๋‹ค. ๋ฌผ๋ก  ์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ๊ฐ€ false์ด๋‹ˆ๊นŒ ์‹คํ–‰๋ฌธ์€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.
    โ†’ else if๊ฐ€ ์•„๋‹Œ if๋ฅผ ํ•˜๋ฉด ๋˜ ๋น„๊ตํ•˜๋Š” ๊ฒƒ(์ฒ˜์Œ ์กฐ๊ฑด์„ ์ˆ˜๋ ดํ•˜๋ฉด ๋‹ค์Œ ์กฐ๊ฑด์€ ๊ตณ์ด ๋น„๊ตํ•  ํ•„์š”๊ฐ€ ์—†์ž–์•„)
<์˜ˆ์ œ11-1>
- 0~9 ์‚ฌ์ด์˜ ์ž„์˜์˜ ์ˆซ์ž๋ฅผ ๋žœ๋ค ์ฑ„๋ฒˆ(์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ˆซ์ž ์ž…๋ ฅ๋ฐ›๊ธฐ)
- ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๊ฐ€ ์ •๋‹ต๋ณด๋‹ค ๋” ์ž‘์œผ๋ฉด '๋†’์—ฌ๋ผ'์ถœ๋ ฅ
- ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๊ฐ€ ์ •๋‹ต๋ณด๋‹ค ๋” ํฌ๋ฉด '๋‚ฎ์ถฐ๋ผ'์ถœ๋ ฅ
- 5๋ฒˆ๊นŒ์ง€๋งŒ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ด์„œ ๊ทธ ์ˆซ์ž๋ฅผ ๋งž์ถ”๋Š” ๊ฒŒ์ž„์„ ์ž‘์„ฑํ•ด ๋ณด์‹œ์˜ค

package com.step3;

public class RandomGame {
	// ์„ ์–ธ๋ถ€
	// ์ƒˆ๋กœ ์ฑ„๋ฒˆ๋œ ์ˆซ์ž๋ฅผ ๋‹ด๋Š”๋‹ค(์ •๋‹ต)
	int dap = -1; // EOF(์ฐพ์•„๋„ ์—†๋‹ค)
	1. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๋Š” ์ˆซ์ž๋Š” ์ ˆ๋Œ€๋กœ ์ „๋ณ€์œผ๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค
      (๋งค๋ฒˆ ์ž…๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๋‹ˆ๊นŒ-์œ ์ง€๋˜๋ฉด ์•ˆ ๋˜๋‹ˆ๊นŒ)
	2. ๊ฒŒ์ž„์„ ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฉ”์†Œ๋“œ๋Š”?
	   โ†’ ์ƒˆ๊ฒŒ์ž„์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์†Œ๋“œ
	// ์—ฌ๊ธฐ์„œ ์ฑ„๋ฒˆ๋˜๋Š” ์ˆซ์ž๊ฐ€ ์ •๋‹ต์ด๋ฏ€๋กœ ๋…ธ์ถœํ•˜์ง€ ์•Š๋Š”๋‹ค โ†’ ๊ทธ๋ž˜์„œ ์ „๋ณ€์œผ๋กœ ์„ ์–ธ
	public void newGame() { 
    // ์ •๋‹ต์„ ๋ณด์—ฌ์ฃผ๋ฉด ์•ˆ ๋˜๋‹ˆ๊นŒ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—์„œ ๋งž์ถ”๋„๋ก void	
	}
	/**************************************************
	 * ํŒ์ •์„ ๋‚ด๋ ค์ฃผ๋Š” ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„ํ•˜๊ธฐ *
	 * @param user - ์‚ฌ์šฉ์ž๊ฐ€ ์ˆซ์ž๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ ์ž…๋ ฅํ•˜๋Š” ๊ฐ’์„ ๋‹ด๋Š” ๋ณ€์ˆ˜์ด๋‹ค. 
                    (์ž…๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ”๋€๋‹ค - ์ง€๋ณ€)
	 * @return - String - ํžŒํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ณ€์ˆ˜
                 (ํžŒํŠธ์˜ ์˜ˆ์‹œ: ๋†’์—ฌ๋ผ, ๋‚ฎ์ถฐ๋ผ, ์ •๋‹ต์ž…๋‹ˆ๋‹ค. ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค)
	 **************************************************/
	public String account(int user) { 
    // ์ด user์ž๋ฆฌ๊ฐ€ ๋งค๋ฒˆ ํ™”๋ฉด์— ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ์ณค์„ ๋•Œ ๊ฒฐ์ •๋˜๋Š” ๊ฐ’
		return "๋†’์—ฌ๋ผ";
	}
	public void messagePrint() {
	}
	public static void main(String[] args) {
	}
}
  • ์ƒˆ ๊ฒŒ์ž„์„ ์„ ํƒํ–ˆ์„ ๋•Œ๋Š” 0~9 ์‚ฌ์ด์— ์ƒˆ๋กœ์šด ์ˆซ์ž๋ฅผ ์ฑ„๋ฒˆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฑ„๋ฒˆํ•œ ์ˆซ์ž๋Š” dap์ด๋ผ๋Š” ๋ณ€์ˆ˜์— ์ €์žฅํ•ด ๋‘ก์‹œ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  dap์€ ์ „์—ญ๋ณ€์ˆ˜๋กœ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒ๋ฉด ๊ทธ ๊ฒŒ์ž„์„ ํ•˜๋Š” ๊ทธ ์‚ฌ๋žŒ์ด ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ์—๋Š” ์˜ค์ง ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ํ…Œ๋‹ˆ๊นŒ์š”.
    (ํžŒํŠธ๋ฌธ์€ ์ž…๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ๊ฐ’์€ ์ง€๋ณ€)

  • EOF(End Of File): ํŒŒ์ผ์˜ ๋์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ƒ์ˆ˜๋กœ -1 ๊ฐ’์„ ๊ฐ€์ง€๋Š”๋ฐ, ๋” ์ด์ƒ์˜ ์ž…๋ ฅ์ด ์—†์„ ๋•Œ(ํŒŒ์ผ์˜ ๋) EOF(-1)๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๋์„ ์•Œ๋ฆฐ๋‹ค.

<์˜ˆ์ œ11-2>
package com.step3;

import java.util.Random;

public class RandomGame {
	int dap = -1;
	public void newGame() { 
		Random r = new Random();
		// ์ข‹์€ ์ ์€? ๋ฆฌํ„ดํƒ€์ž…์ด ์—†์–ด๋„ ์ „๋ณ€์ด๋ฉด ์–ด๋– ํ•œ ๋ฉ”์†Œ๋“œ์—์„œ๋„ ์žฌ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค
		dap = r.nextInt(10); // ์—ฌ๊ธฐ์„œ ์ •๋‹ต์ด ๊ฒฐ์ •. // nextInt๋Š” API
		// ๋‹ต์ด ์ˆ˜์‹œ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด ์•ˆ ๋œ๋‹ค. ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค. ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€
	}
	public String account(int user) { 
    // ์ด user ์ž๋ฆฌ๊ฐ€ ๋งค๋ฒˆ ํ™”๋ฉด์— ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ์ณค์„ ๋•Œ ๊ฒฐ์ •๋˜๋Š” ๊ฐ’
		System.out.println("dap: " + dap + ", user: " + user);
		String hint = null;
		if(dap == user) {
			hint = "์ •๋‹ต์ž…๋‹ˆ๋‹ค.";
		} else if(dap > user) {
			hint = "๋†’์—ฌ๋ผ.";
			
		} else if(dap < user) {
			hint = "๋‚ฎ์ถฐ๋ผ.";
		}
		return hint;
	}
	public void messagePrint(int user) { 
    // user=5 ๋ณต์‚ฌ๋จ - call by value๋‹ˆ๊นŒ
		System.out.println(account(5)); // 24->5๋ฅผ ์ฅ๊ณ  ๊ฐ„๋‹ค-> '๋†’์—ฌ๋ผ' ์ถœ๋ ฅ
	}
	public static void main(String[] args) {
 		RandomGame rg = new RandomGame(); 
		rg.newGame(); 
        // ์ด ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์–ด์•ผ 0~9 ์‚ฌ์ด์˜ ์ˆซ์ž๊ฐ€ ์ฑ„๋ฒˆ๋œ๋‹ค. 
        // ๊ทธ๋ž˜์„œ ์ฑ„๋ฒˆ๋œ ์ˆซ์ž๋Š” dap์— ๋‹ด๊น€
		// messagePrint ํ˜ธ์ถœํ•  ๋•Œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ž๋ฆฌ์— 5๋ฅผ ๋„˜๊ฒจ์ฃผ๊ณ  36๋ฒˆ์—์„œ account()ํ˜ธ์ถœ๋  ๋•Œ ์ง€์—ญ๋ณ€์ˆ˜์— ๋ณต์‚ฌ๋œ user๊ฐ’
		// ์ฆ‰ 5๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜์–ด๊ฐ„๋‹ค.
		// 24๋ฒˆ์—์„œ๋„ user๊ฐ’์€ 5๊ฐ€ ๋œ๋‹ค.
		// rg.account(5);
		rg.messagePrint(5);
	}
}
์ถœ๋ ฅ: dap: 6, user: 5 
     ๋†’์—ฌ๋ผ.

๐Ÿ–ฑ ๋””๋ฒ„๊น…
๋ฉ”์†Œ๋“œ ์ถ”์ ํ•  ๋•Œ๋Š” F5
์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ์ง„ํ–‰ F6

์ž๋ฐ” ์ง„๋„ ์ •๋ฆฌ

<com.step1>
์ฝ”๋”ฉ์‹œ์ž‘ - ํด๋ž˜์Šค ์„ ์–ธํ•˜๊ธฐ - ๋ณ€์ˆ˜ ์„ ์–ธ

<com.step2>
๋ณ€์ˆ˜ ์Šค์ฝ”ํ”„ - ๋ฉ”์†Œ๋“œ ์„ ์–ธ ์ถ”๊ฐ€ํ•˜๊ธฐ - ์ธ์Šคํ„ด์Šคํ™” ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ „๋‹ฌ

<com.step21> 2์ฃผ์ฐจ ์‹œ์ž‘

  • ํด๋ž˜์Šค๋ฅผ 2๋ถ„ํ• ํ•˜๊ธฐ(์›์น™)
  • ํด๋ž˜์Šค ์ชผ๊ฐœ๊ธฐ โ†’ MVCํŒจํ„ด(๊ฐœ๋ฐœ๋ฐฉ๋ฒ•๋ก ) โ†’ Spring ํ”„๋ ˆ์ž„์›Œํฌ
  • ์ „์—ญ๋ณ€์ˆ˜์™€ ์ง€์—ญ๋ณ€์ˆ˜ ํ™œ์šฉํ•˜๊ธฐ(๋ณต์Šต)
    (static์€ ๋ฏธ๋ค„๋„ ๊ดœ์ฐฎ์Œ-2๋…„์ฐจ ๋ฏธ๋งŒ์€ ์ œ์•ฝ๋‘๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ)
  • ๋ฉ”์†Œ๋“œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฆฌํ„ดํƒ€์ž…์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค(์ด๋ฒˆ ์ฃผ์˜ ํ•ต์‹ฌ/ ๋ณต์Šต ๋‚ด์šฉ)
  • ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ๋ฆฌํ„ดํƒ€์ž… ์ž๋ฆฌ์— ์ฐธ์กฐํ˜• ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ํ›ˆ๋ จํ•˜๊ธฐ
  • ๋ฉ”์†Œ๋“œ ํ†ตํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ฃผ์ž…(์ธ์Šคํ„ด์Šคํ™”) ๋ฐ›๊ธฐ โ†’ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๋งŽ์ด ํ™œ์šฉ๋จ
  • ์ด ๋‚ด์šฉ์„ ํ™•์žฅ์‹œํ‚ค๋ฉด ์˜์กด์„ฑ ์ฃผ์ž… โ†’ ์ œ์–ด์—ญ์ „(๊ณ ๊ธ‰๊ธฐ๋ฒ•)
    : ์ฝ”๋“œ์˜ ์–‘์€ ๋Š˜์–ด๋‚˜๋”๋ผ๋„ ๋ณต์žก๋„๋Š” ์ฆ๊ฐ€๋˜์ง€ ์•Š๋„๋ก ํ•˜์ž / ์ด๋Ÿฐ ์ปจ์…‰ ์ƒ๊ฐํ•˜๋ฉด์„œ ๋ฌธ์ œ ์ ‘๊ทผํ•˜๊ธฐ
    : ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์ด์‹์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ฝ”๋”ฉ์„ ์ „๊ฐœ(์ธ์Šคํ„ด์Šคํ™”, ๋ฉ”์†Œ๋“œ์ค‘์‹ฌ ์ฝ”๋”ฉ์„ ์ „๊ฐœํ•˜๊ธฐ)
  • ๋ฆฌํ„ดํƒ€์ž…์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ํƒ€์ž…๊ณผ ๊ฐœ์ˆ˜๊นŒ์ง€๋„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€