상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
뉴욕의 요리사 월급은 어떻게 되나요?
뉴욕의 광고 카피라이터 월급은 얼마인가요?
신용카드 연체가 장기적으로 어떤 문제를 일으킬 수 있나요?
신용카드 연체가 발생했을 때 어떤 금융 교육이 필요할까요?
태국의 월급은 경제 위기 시 어떻게 변동하나요?
태국의 월급은 기업의 규모에 따라 어떤 차이가 있나요?
자신감을 높이기 위한 자기 개발의 중요성은?
대만에서 이벤트 기획자의 월급은 어떻게 되나요?
대만에서 데이터 시각화 전문가의 월급은 어떻게 되나요?
대만의 소고기 스프를 집에서 만들 때 손쉬운 방법이 있나요?
공산주의의 경제적 성공과 실패를 비교할 수 있는 사례는 무엇인가요?
공산주의와 경제적 자유의 관계는 어떤가요?
Previous
Next
수정하기 - 다트에서 getter와 setter를 사용하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/다트/ko'>다트</a>(Dart)에서 getter와 setter는 <a href='https://sangseek.com/sangseeks/객체 지향/ko'>객체 지향</a> 프로그래밍에서 속성에 대한 접근을 제어하는 데 사용되는 중요한 개념입니다. 이들은 클래스의 필드에 대한 읽기 및 쓰기 접근을 제공하며, 데이터 캡슐화(encapsulation)를 통해 객체의 상태를 안전하게 관리할 수 있도록 도와줍니다. Getter와 Setter의 기본 개념 - Getter : 객체의 속성 값을 읽기 위한 메서드입니다. 일반적으로 속성의 값을 반환합니다. - Setter : 객체의 속성 값을 설정하기 위한 메서드입니다. 일반적으로 매개변수로 전달된 값을 사용하여 속성의 값을 변경합니다. <a href='https://sangseek.com/sangseeks/기본 문법/ko'>기본 문법</a> 다트에서 getter와 setter를 정의하는 방법은 다음과 같습니다: ```dart class Person { String _name; // private field // Getter String get name => _name; // Setter set name(String newName) { if (newName.isNotEmpty) { _name = newName; } else { print('Name cannot be empty'); } } Person(this._name); } ``` 위의 예제에서 `Person` 클래스는 `_name`이라는 private 필드를 가지고 있습니다. `_name` 필드는 외부에서 직접 접근할 수 없으며, 대신 getter와 setter를 통해 접근할 수 있습니다. Getter 사용 예 getter를 사용하여 `_name` 필드의 값을 읽을 수 있습니다: ```dart void main() { var person = Person('Alice'); print(person.name); // Alice } ``` Setter 사용 예 setter를 사용하여 `_name` 필드의 값을 설정할 수 있습니다: ```dart void main() { var person = Person('Alice'); person.name = 'Bob'; // Bob으로 이름 변경 print(person.name); // Bob person.name = ''; // 빈 문자열을 설정하려고 시도 // 출력: Name cannot be empty } ``` Getter와 Setter의 장점 1. 데이터 캡슐화 : 내부 상태를 보호하고, 외부에서 직접 접근하지 못하도록 하여 데이터의 무결성을 유지합니다. 2. 유효성 검사 : setter를 통해 값을 설정할 때 유효성 검사를 수행할 수 있습니다. 예를 들어, 이름이 비어 있지 않도록 확인할 수 있습니다. 3. 읽기 전용 속성 : getter만 정의하여 읽기 전용 속성을 만들 수 있습니다. 이는 외부에서 값을 변경할 수 없도록 하여 객체의 상태를 보호합니다. 예제: 복합적인 Getter와 Setter 다음은 복합적인 getter와 setter를 사용하는 예제입니다: ```dart class Rectangle { double _width; double _height; Rectangle(this._width, this._height); // Getter for area double get area => _width * _height; // Setter for width set width(double newWidth) { if (newWidth > 0) { _width = newWidth; } else { print('Width must be positive'); } } // Setter for height set height(double newHeight) { if (newHeight > 0) { _height = newHeight; } else { print('Height must be positive'); } } } ``` 이 예제에서 `Rectangle` 클래스는 면적을 계산하는 getter와 너비 및 높이를 설정하는 setter를 가지고 있습니다. 면적은 읽기 전용 속성으로, 외부에서 직접 설정할 수 없습니다. 결론 다트에서 getter와 setter는 객체의 속성에 대한 접근을 제어하고, 데이터의 무결성을 유지하는 데 중요한 역할을 합니다. 이를 통해 코드의 가독성을 높이고, 유지보수를 용이하게 할 수 있습니다. 객체 지향 프로그래밍의 원칙을 잘 따르면서, 안전하고 효율적인 코드를 작성하는 데 큰 도움이 됩니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기