Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 생존코딩
- #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 패스트 캠퍼스
- Tag #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 오준석의생존코딩
- ㅇ
- 오름캠프플러터
- 모두의연구소 오준석생존코딩 오름캠프
- 오존석의 생존코딩
- 모두연구소
- 오름캠프
- 플러터
- 모두의연구소
- 오준석의 생존코딩
- 모두의 연구소 # 오준석의생존코딩# 오름캠프
Archives
- Today
- Total
꾸준히 하고싶은 개발자
Getter 및 Setter 메서드란 무엇인가요? 본문
Getter와 Setter는 객체 지향 프로그래밍에서 클래스의 속성에 대한 접근을 제어하는 메서드입니다. 이들은 클래스의 멤버 변수(필드)에 대한 읽기와 쓰기 작업을 수행하는 메서드로, 객체의 데이터를 보호하고 외부에서의 접근을 관리하는 데 사용됩니다.
Getter 메서드
Getter 메서드는 클래스의 속성 값을 반환하는 데 사용됩니다. 주로 클래스 내부의 필드 값을 외부에서 읽을 수 있도록 합니다.
class Person {
String _name; // 프라이빗 필드
// 생성자
Person(this._name);
// Getter 메서드
String get name => _name;
}
void main() {
var person = Person('John');
print(person.name); // John
}
name은 Getter 메서드로, _name 필드의 값을 반환합니다. Getter 메서드는 get 키워드와 함께 정의되며, 필드 값을 읽기 전용으로 만듭니다.
Setter 메서드
Setter 메서드는 클래스의 속성 값을 설정하는 데 사용됩니다. 주로 클래스 내부의 필드 값을 외부에서 변경할 수 있도록 합니다.
class Person {
String _name; // 프라이빗 필드
// 생성자
Person(this._name);
// Getter 메서드
String get name => _name;
// Setter 메서드
set name(String newName) {
_name = newName;
}
}
void main() {
var person = Person('John');
print(person.name); // John
person.name = 'Doe'; // Setter 메서드 사용
print(person.name); // Doe
}
name은 Setter 메서드로, _name 필드의 값을 변경합니다. Setter 메서드는 set 키워드와 함께 정의되며, 값을 설정하는 기능을 제공합니다.
Getter와 Setter의 장점
- 데이터 캡슐화:
- Getter와 Setter를 사용하면 클래스 내부의 구현을 외부에 노출하지 않고도 데이터에 접근할 수 있습니다. 이는 데이터의 무결성을 유지하고 클래스의 내부 구현을 숨기는 데 도움이 됩니다.
- 유효성 검사:
- Setter 메서드 내에서 유효성 검사를 수행할 수 있습니다. 예를 들어, 값이 특정 범위 내에 있는지 확인하거나 특정 조건을 만족하는지 확인할 수 있습니다.
- 읽기 전용 또는 쓰기 전용 속성:
- Getter만 제공하여 읽기 전용 속성을 만들거나, Setter만 제공하여 쓰기 전용 속성을 만들 수 있습니다.
class Person {
String _name;
int _age;
Person(this._name, this._age);
String get name => _name;
int get age => _age;
set age(int newAge) {
if (newAge >= 0 && newAge <= 150) {
_age = newAge;
} else {
print('Invalid age');
}
}
}
void main() {
var person = Person('John', 30);
print(person.age); // 30
person.age = 25; // 유효한 나이
print(person.age); // 25
person.age = -5; // 유효하지 않은 나이
// Invalid age 출력
}
age Setter 메서드는 유효성 검사를 수행하여 나이가 0 이상 150 이하인 경우에만 _age 필드를 업데이트합니다. 그렇지 않으면 오류 메시지를 출력합니다.
결론
Getter와 Setter는 클래스의 필드에 대한 접근을 제어하고, 데이터의 무결성을 유지하며, 클래스의 내부 구현을 캡슐화하는 데 중요한 역할을 합니다. 이를 통해 객체 지향 프로그래밍에서 더 안전하고 유지 보수 가능한 코드를 작성할 수 있습니다.