Post

๐Ÿ‘จโ€๐Ÿ’ป ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ Getter์™€ Setter ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋น„๊ต

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธ๋”” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ Setter ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ œ๋Œ€๋กœ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

๐Ÿ‘จโ€๐Ÿ’ป ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ Getter์™€ Setter ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋น„๊ต

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ Getter์™€ Setter๋Š” ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ํ†ต์ œํ•˜๊ณ , ์ฝ”๋“œ์˜ ์•ˆ์ „์„ฑ์„ ๋†’์ด๋Š” ์ค‘์š”ํ•œ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” Getter์™€ Setter ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์˜ ์ฐจ์ด๋ฅผ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋น„๊ตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ Getter์™€ Setter๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

์•„๋ž˜ ์˜ˆ์ œ๋Š” Person ํด๋ž˜์Šค์˜ ํ•„๋“œ๋ฅผ public์œผ๋กœ ์„ ์–ธํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

1
2
3
4
public class Person {
    public String name;
    public int age;
}

์ด ๊ฒฝ์šฐ, ์™ธ๋ถ€ ์ฝ”๋“œ์—์„œ Person ๊ฐ์ฒด์˜ ํ•„๋“œ์— ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.name = "Alice";
        person.age = -5; // ๋‚˜์ด์— ์Œ์ˆ˜ ๊ฐ’ ์„ค์ • ๊ฐ€๋Šฅ

        System.out.println("Name: " + person.name);
        System.out.println("Age: " + person.age);
    }
}

โš ๏ธ ๋ฌธ์ œ์ 

  • age ํ•„๋“œ์— ์Œ์ˆ˜ ๊ฐ’์ด ์„ค์ •๋˜์–ด๋„ ์ด๋ฅผ ์ œ์–ดํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.
  • ํ•„๋“œ๊ฐ€ public์œผ๋กœ ์„ ์–ธ๋˜์–ด ์žˆ์–ด, ์™ธ๋ถ€์—์„œ ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ ์ƒํƒœ๋ฅผ ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2๏ธโƒฃ Getter์™€ Setter๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

์ด๋ฒˆ์—๋Š” Person ํด๋ž˜์Šค์˜ ํ•„๋“œ๋ฅผ private์œผ๋กœ ์„ ์–ธํ•˜๊ณ , Getter์™€ Setter ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Person {
    private String name;
    private int age;

    // Getter for name
    public String getName() {
        return name;
    }

    // Setter for name
    public void setName(String name) {
        this.name = name;
    }

    // Getter for age
    public int getAge() {
        return age;
    }

    // Setter for age
    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        } else {
            System.out.println("Invalid age: " + age);
        }
    }
}

์ด์ œ ์™ธ๋ถ€ ์ฝ”๋“œ์—์„œ Person ๊ฐ์ฒด์˜ ํ•„๋“œ์— ์ ‘๊ทผํ•  ๋•Œ๋Š” Getter์™€ Setter๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("Alice");
        person.setAge(-5); // ์œ ํšจํ•˜์ง€ ์•Š์€ ๋‚˜์ด ์„ค์ • ์‹œ๋„

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
    }
}

๐Ÿ“ ์ถœ๋ ฅ ๊ฒฐ๊ณผ

1
2
3
Invalid age: -5
Name: Alice
Age: 0

๐ŸŒŸ ์žฅ์ 

  • setAge ๋ฉ”์„œ๋“œ์—์„œ ๋‚˜์ด์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜์—ฌ, ์Œ์ˆ˜ ๊ฐ’์ด ์„ค์ •๋˜์ง€ ์•Š๋„๋ก ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„๋“œ๋ฅผ private์œผ๋กœ ์„ ์–ธํ•˜์—ฌ, ์™ธ๋ถ€์—์„œ ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ ์ƒํƒœ๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋„๋ก ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์ด Getter์™€ Setter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๊ฐ์ฒด์˜ ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€: ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ์ฒด์˜ ์†์„ฑ์œผ๋กœ ์„ค์ •๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์ฆ: Setter ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ’์ด ์„ค์ •๋˜๊ธฐ ์ „์— ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ: ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ์บก์Šํ™”ํ•˜์—ฌ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ ธ๋„ ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, Getter์™€ Setter๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ์˜ ๋ฌด๋ถ„๋ณ„ํ•œ ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•จ์œผ๋กœ์จ, ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™ธ๋ถ€ ํด๋ž˜์Šค์—์„œ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃฐ์ผ์ด ์ƒ๊ธด๋‹ค๋ฉด (์–ด์ฉŒ๋ฉด ๊ฑฐ์˜ ๋ชจ๋“  ์ˆœ๊ฐ„?) ๊ผญ Setter ๋ฅผ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๐ŸŽ…๐Ÿป ํ›„์›

๐Ÿป ๋งฅ์ฃผ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ›„์› ๋งํฌ

๋” ๋งŽ์€ ๊ฐœ๋ฐœ ํŒ๊ณผ ๊ฒฝํ—˜๋‹ด์ด ํ•„์š”ํ•˜์‹  ๋ถ„๋“ค์€ ์ œ ์†Œ์…œ ์ฑ„๋„๋„ ํ™•์ธํ•ด ์ฃผ์„ธ์š”!

๐ŸŒฒLink tree

ํ˜น์‹œ๋ผ๋„ ์ €์— ๋Œ€ํ•ด์„œ ๋” ์•Œ๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด! ๐Ÿ•ต๏ธ๐Ÿป About Redping

This post is licensed under CC BY 4.0 by the author.