class 2

2023. 1. 27. 16:46ใ†java

//์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฉ”์†Œ๋“œ   >>> ๋ณ€์ˆ˜ ์ด๋ฆ„์— setter ๊ผญ ๋ถ™์ด๊ธฐ
public void setName(String name) {
   this.name = name;  //this ๋ถ™์ด๋ฉด ํด๋ž˜์Šค์—์„œ ์„ ์–ธ๋œ ๋ฉค๋ฒ„๋ณ€์ˆ˜ name์ด ๋จ.
}
//์ด๋ฆ„ ๊ฐ’ ๋ฆฌํ„ด   //๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋ฐ›์•„์˜ฌ ๋•Œ get ๊ผญ ๋ถ™์ด๊ธฐ > getter
public String getName(){
    return this.name; //getter์—์„œ๋Š” ํ•ญ์ƒ ๋ฉค๋ฒ„๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฅดํ‚ด this ์•ˆ ๋ถ™์—ฌ๋„ ๋™์ผ
}
 

setter๋ฅผ ๋งŒ๋“ค ๋•Œ this.๋ณ€์ˆ˜ ์“ฐ๊ธฐ

this.๋ณ€์ˆ˜ : ์ด ํด๋ž˜์Šค์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜

 

์ด๋ ‡๊ฒŒ ์“ฐ๋Š” ์ด์œ  

๋ฉค๋ฒ„ ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์„ ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋ฌด์—‡์ด ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š”์ง€ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ์Œ.

ํด๋ž˜์Šค๋ฅผ ์™”๋‹ค ๊ฐ”๋‹ค ํ•˜๋ฉด์„œ ๋ณด๋ฉด ๋ถˆํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์‹œ ๋ฐ”๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ.

๋งค๊ฐœ๋ณ€์ˆ˜๋ช…์— 1์„ ๋ถ™์ด์ง€ ์•Š์•„๋„ ๋จ.

this.๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ช…์ด ์ค‘๋ณต๋˜์–ด๋„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Œ

getter์—์„œ๋Š” ํ•ญ์ƒ ๋ฉค๋ฒ„๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฅดํ‚ด this ์•ˆ ๋ถ™์—ฌ๋„ ๋™์ผ
setter, getter ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฒ•
์ƒ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ์œ„์น˜ ์˜ค๋ฅธ์ชฝ ๋งˆ์šฐ์Šค - ์ƒ์„ฑ - setter ๋ฐ getter ๋ฐ”๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ
๋‹จ์ถ•ํ‚ค Alrt + Insert

getter ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌํ„ดํ•˜๋Š” ๋ฒ• ์ž˜ ์•Œ์•„๋‘ฌ์•ผํ•จ.
์›น ๊ฐœ๋ฐœ์—์„œ ์ž์ฃผ ์“ฐ์ž„ > ์ถœ๋ ฅ์ด๋ผ๋Š” ๋ง์€ ์ž˜ ์•ˆ ์”€ ! ๋ฆฌํ„ด์— ์ต์ˆ™ํ•ด์ง€์ž

 

์ข‹์€ ํด๋ž˜์Šค์˜ ์—ฌ๊ฑด :
 1. ๋ชจ๋“  ๋ฉค๋ฒ„๋ณ€์ˆ˜๋Š” ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ํ•ด์ค€๋‹ค. (null์ด๋“  ๊ณต๋ฐฑ์ด๋“  0์ด๋“ )
 2. ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”๋Š” ์ข‹์ง€ ์•Š๋‹ค.

Man man1 = new Man();
man1.setInfo("ํ™๊ธธ๋™",20,"์šธ์‚ฐ");

๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ๋ฐ”๋กœ ์ดˆ๊ธฐํ™” ์ž‘์—… ๋จผ์ € ํ•ด์ฃผ์ž.

์œ„์™€ ๊ฐ™์ด ํ•˜๋ฉด ์ดˆ๊ธฐํ™” ์ž‘์—… ์ฝ”๋”ฉ ์œ„์น˜๋ฅผ ์‹ค์ˆ˜ ๋ฐ ๋ฉ”์†Œ๋“œ๋กœ ์ดˆ๊ธฐํ™” ์‹œ ์—ฌ๋Ÿฌ๋ฒˆ ์ดˆ๊ธฐํ™”๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ.

์œ„์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด

์ƒ์„ฑ์ž ์‚ฌ์šฉํ•œ๋‹ค.

์ƒ์„ฑ์ž : ๋ชจ๋“  ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ์ž‘์—…

์ƒ์„ฑ์ž๋Š” ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ๋”ฑ ํ•œ๋ฒˆ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ๋ฐ”๋กœ ์ดˆ๊ธฐํ™” ์ž‘์—… ๊ฐ€๋Šฅ.

public Man(){
    
}
์ƒ์„ฑ์ž constructor

์ƒ์„ฑ์ž๋Š” return ํƒ€์ž…์ด ์—†๋‹ค.
์ƒ์„ฑ์ž๋Š” ๋ฐ˜๋“œ์‹œ ํด๋ž˜์Šค๋ช…๊ณผ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.
์ƒ์„ฑ์ž๋Š” ํด๋ž˜์Šค์—์„œ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜๋Š” ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. (์ƒ์„ฑ์ž ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.)

๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ์„ฑ์ž๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์œผ๋ฉด, ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž(default constructor)๋ฅผ ์ƒ์„ฑํ•ด ์ค€๋‹ค.

๊ธฐ๋ณธ ์ƒ์„ฑ์ž : ์ƒ์„ฑ์ž์˜ ๋‚ด์šฉ์ด ์—†๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ์—†๋Š” ์ƒ์„ฑ์ž.

๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ
public Man(){
    
}
 

๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด๋ณด์ž.

public Man(){
    name = "์ง€์ •๋˜์ง€ ์•Š์Œ.";
    age = 1;
    addr = "์‹ ์›๋ถˆ๋ช…";
}

์—ฌํƒœ๊นŒ์ง€ 

๊ฐ์ฒด ์ƒ์„ฑ ๋ฌธ๋ฒ•์„ ํด๋ž˜์Šค๋ช… ์ฐธ์กฐ๋ณ€์ˆ˜๋ช… = new ํด๋ž˜์Šค๋ช…์œผ๋กœ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ,

๋” ์ •ํ™•ํ•˜๊ฒŒ ๋”ฐ์ง€๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

ํด๋ž˜์Šค๋ช… ์ฐธ์กฐ๋ณ€์ˆ˜๋ช… = new ์ƒ์„ฑ์žํ˜ธ์ถœ;
Man man1 = new Man();

Man(); < ์ƒ์„ฑ์ž ํ˜ธ์ถœ

 

๊ณ„์ขŒ ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด๋ณด์ž.

ํด๋ž˜์Šค(์„ค๊ณ„๋„) ๋จผ์ € ๋งŒ๋“ค์–ด์•ผ ํ•จ.

public class Account {
    //๋ณ€์ˆ˜
    String owner; //๊ณ„์ขŒ์ฃผ
    String accountNum; //๊ณ„์ขŒ๋ฒˆํ˜ธ
    int balance; //์˜ˆ๊ธˆ์•ก

    //์ƒ์„ฑ์ž
    public Account() {
        owner = "";
        accountNum = "";
        balance = 1000;
    }

    //๋ฉ”์†Œ๋“œ๋“ค
    //๊ณ„์ขŒ์ •๋ณด๋ณ€๊ฒฝ
    public void setAccInfo(String owner, String accountNum) {
        this.owner = owner;
        this.accountNum = accountNum;
    }
    //๊ณ„์ขŒ์ •๋ณด์กฐํšŒ
    public void showAccInfo() {
        System.out.println("๊ณ„์ขŒ์ฃผ : " + owner);
        System.out.println("๊ณ„์ขŒ๋ฒˆํ˜ธ : " + accountNum);
        System.out.println("์˜ˆ๊ธˆ์•ก : " + balance);
    }
    //์˜ˆ๊ธˆ์ž…๊ธˆ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋“ค์–ด์˜จ ๊ฐ’์„ ์ž…์ถœ๊ธˆ.
    public void deposit(int money) {
        balance += money;
    }
    //์˜ˆ๊ธˆ์ถœ๊ธˆ
    public void withdraw(int money) {
        balance -= money;
    }
}

๊ณ„์ขŒ ๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ๋ฐ์ดํ„ฐ ํ™•์ธ 

public class AccountTest1 {
    public static void main(String[] args) {
        Account acc = new Account(); //์ƒ์„ฑ์ž ํ˜ธ์ถœ
        acc.showAccInfo();

        acc.setAccInfo("๊น€์ž๋ฐ”","123-456");
        acc.deposit(10000);
        acc.withdraw(6000);

        acc.showAccInfo();

    }
}

 

์ƒ์„ฑ์ž๋Š” ํ•˜๋‚˜ ์ด์ƒ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

์ƒ์„ฑ์ž๋„ ์ด๋ฆ„ ์ค‘๋ณต ์•ˆ ๋œ๋‹ค. >  ์ƒ์„ฑ์ž๋ฅผ ๋” ๋งŒ๋“ค ๋•Œ

ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๋™์ผํ•˜๊ฒŒ ์ด๋ฏธ ์ •ํ•ด์ ธ ์žˆ๋Š” ์ƒ์„ฑ์ž ์ด๋ฆ„์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ?

์ƒ์„ฑ์ž ์ด๋ฆ„์€ ๋™์ผํ•˜์—ฌ๋„ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ •๋ณด๊ฐ€ ๋‹ค๋ฅด๋ฉด ์ค‘๋ณต์œผ๋กœ ์•ˆ ๋ณธ๋‹ค.  (๋ฉ”์†Œ๋“œ๋„ ๋™์ผํ•จ) 

๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ •๋ณด๋ž€ : ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜, ์ž๋ฃŒํ˜•

//์ƒ์„ฑ์ž
//์ƒ์„ฑ์ž๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ •๋ณด๊ฐ€ ๋‹ค๋ฅด๋ฉด ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑ ๊ฐ€๋Šฅ!
//๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ •๋ณด๋ž€ : ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜, ์ž๋ฃŒํ˜•
public Account() {
    owner = "";
    accountNum = "";
    balance = 1000;
}
public Account(int balance) {   //()์€ ๋งค๊ฐœ๋ณ€์ˆ˜
    owner = "";
    accountNum = "";
    this.balance = balance;
}

์ƒ์„ฑ์ž ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ™œ์šฉ ๊ฐ€๋Šฅ!

public class AccountTest1 {
    public static void main(String[] args) {
        Account acc = new Account(); //์ƒ์„ฑ์ž ํ˜ธ์ถœ
        Account acc1 = new Account(10000); //๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ–๋Š” ๋‹ค๋ฅธ ์ƒ์„ฑ์ž ํ˜ธ์ถœ

๋ฉ”์†Œ๋“œ ๋ฌธ๋ฒ•์„ ๋‹ค์‹œ ๋ณด์ž.

 

์ ‘๊ทผ์ œํ•œ์ž ๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์†Œ๋“œ๋ช…();

 

private : ์ ‘๊ทผ์ œํ•œ์ž ์ค‘ ํ•˜๋‚˜ ํด๋ž˜์Šค ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ. >> ๋‹ค๋ฅธ ํด๋ž˜์„œ์—์„œ ์ง์ ‘ ์ ‘๊ทผ์„ ๋ง‰์Œ.

public : ๋ˆ„๊ตฌ๋‚˜ ์ ‘๊ทผ ๊ฐ€๋Šฅ - ๋‹ค๋ฅธ ์™ธ๋ถ€์˜ ์–ด๋–ค ํด๋ž˜์Šค์—์„œ๋“  ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

 

โ˜…โ˜…๋ฉค๋ฒ„๋ณ€์ˆ˜ ์•ž์€ ๋ฌด์กฐ๊ฑด private ์“ฐ๊ธฐ (private ์ž๋ฃŒํ˜• ๋ณ€์ˆ˜)

๋ฉ”์†Œ๋“œ ์•ž์—” public

 

์ƒ์„ฑ์ž๋„ ๋‹จ์ถ•ํ‚ค๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์œ„์น˜ ์žก๊ณ  Alt + Insert ์ƒ์„ฑ์ž ์ƒ์„ฑ

 

โ˜…์œ ์˜ํ•  ์ 

ํด๋ž˜์Šค๋„ ์ž๋ฃŒํ˜•์ด๋ฏ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!!!!