๐จโ๐ป ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ Getter์ Setter ๋ฉ์๋ ์ฌ์ฉ ๋น๊ต
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ๋ ๊ฒ์ ๊ฐ๋ฐ์ ๊ฐ๋ฐํ๋ค๊ฐ 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