인스턴스 변수
Coddy Dart 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 110개 중 7번째.
인스턴스 변수는 클래스 내부에서 선언된 변수입니다. 클래스로부터 생성된 각 객체는 다른 모든 객체와 독립적으로 이 변수들의 고유한 복사본을 갖습니다.
타입과 선택적인 기본값을 사용하여 인스턴스 변수를 선언합니다:
class Student {
String school = 'Dart Academy'; // 기본값이 있음
String name = ''; // 빈 기본값
int age = 0; // 0 기본값
}기본값을 가진 변수는 모든 새로운 객체에 대해 동일한 값으로 시작합니다. name 및 age와 같은 변수는 값을 설정하기 전까지 비어 있거나 0으로 시작합니다.
this를 포함한 메서드를 사용하여 개별 객체 데이터를 설정합니다:
class Student {
String school = 'Dart Academy';
String name = '';
int age = 0;
void setInfo(String name, int age) {
this.name = name; // this.name = 인스턴스 변수
this.age = age; // this.age = 인스턴스 변수
}
}학생들을 생성하고 데이터를 할당합니다:
Student student1 = Student();
Student student2 = Student();
student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);점 연산자를 사용하여 인스턴스 변수에 접근합니다:
print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');출력:
Alice is 20 at Dart Academy
Bob is 22 at Dart Academyschool은 기본값을 가지고 있기 때문에 두 객체 모두 동일하지만, name과 age는 setInfo를 통해 개별적으로 설정되었으므로 각 객체마다 고유하다는 점에 주목하세요.
챌린지
쉬움student.dart 파일의 Student 클래스를 완성하세요:
- 기본값이
'Dart Academy'인String school인스턴스 변수를 선언하세요 - 기본값이
''인String name인스턴스 변수를 선언하세요 - 기본값이
0인int age인스턴스 변수를 선언하세요 String name과int age를 매개변수로 받아this를 사용하여 객체의 값을 설정하는setInfo메서드를 추가하세요
driver.dart 파일은 두 명의 학생을 생성하고 그들의 정보를 출력하여 클래스를 테스트합니다 (수정 불가).
치트 시트
인스턴스 변수는 클래스 내부에서 선언된 변수입니다. 각 객체는 이러한 변수의 자체 복사본을 가집니다.
타입과 선택적인 기본값을 사용하여 인스턴스 변수를 선언합니다:
class Student {
String school = 'Dart Academy'; // 기본값을 가짐
String name = ''; // 빈 기본값
int age = 0; // 0 기본값
}개별 객체 데이터를 설정하려면 this를 사용하는 메서드를 사용하세요:
class Student {
String school = 'Dart Academy';
String name = '';
int age = 0;
void setInfo(String name, int age) {
this.name = name; // this.name = 인스턴스 변수
this.age = age; // this.age = 인스턴스 변수
}
}객체를 생성하고 데이터를 할당합니다:
Student student1 = Student();
Student student2 = Student();
student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);점 연산자를 사용하여 인스턴스 변수에 접근합니다:
print('${student1.name} is ${student1.age} at ${student1.school}');
// 출력: Alice is 20 at Dart Academy직접 해보기
import 'student.dart';
void main() {
Student student1 = Student();
Student student2 = Student();
student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);
print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.