클래스 vs 객체
Coddy Dart 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 110개 중 4번째.
클래스와 객체는 서로 다른 목적을 수행합니다. 클래스는 청사진이며, 객체는 그 청사진으로부터 만드는 것입니다.
다음은 인스턴스 변수가 있는 클래스의 예입니다:
class Dog {
String name = '';
String breed = '';
}클래스 내부에 선언된 변수들은 (name 및 breed와 같은) 해당 클래스에서 생성된 각 객체에 속합니다. 인스턴스 변수에 대해서는 나중에 자세히 살펴보겠습니다.
동일한 클래스에서 여러 객체를 생성합니다:
Dog dog1 = Dog();
Dog dog2 = Dog();각 객체는 해당 변수들에 대해 자신만의 고유한 값을 가질 수 있습니다:
dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';
dog2.name = 'Teemon';
dog2.breed = 'Labrador';객체의 변수에 접근하려면 점 연산자 .를 사용하세요:
print('${dog1.name} is a ${dog1.breed}');
print('${dog2.name} is a ${dog2.breed}');출력:
Nicky is a Siberian Husky
Teemon is a Labrador주요 차이점: Dog 클래스는 모든 개가 공유하는 구조를 정의하며, dog1과 dog2는 고유한 데이터를 가진 개별 객체입니다.
챌린지
쉬움Student 클래스에서 두 개의 학생 객체를 생성하고 해당 변수를 설정하도록 코드를 완성하세요.
student.dart:Student클래스를 포함합니다 (잠김)driver.dart: 두 개의 객체를 생성하고 데이터를 설정합니다
다음 값을 설정하세요:
student1: name은'Alice'이고 grade는'A'입니다student2: name은'Bob'이고 grade는'B'입니다
치트 시트
클래스는 객체의 구조와 동작을 정의하는 청사진입니다. 객체는 클래스로부터 생성된 인스턴스입니다.
인스턴스 변수를 사용하여 클래스를 정의합니다:
class Dog {
String name = '';
String breed = '';
}클래스로부터 객체를 생성합니다:
Dog dog1 = Dog();
Dog dog2 = Dog();점 연산자 .를 사용하여 객체 변수에 접근하고 수정합니다:
dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';
dog2.name = 'Teemon';
dog2.breed = 'Labrador';객체 변수에 접근합니다:
print('${dog1.name} is a ${dog1.breed}');
// 출력: Nicky is a Siberian Husky직접 해보기
import 'student.dart';
void main() {
// TODO: 두 개의 Student 객체 생성
// TODO: student1의 이름과 성적 설정 (이름: 'Alice', 성적: 'A')
// TODO: student2의 이름과 성적 설정 (이름: 'Bob', 성적: 'B')
print('${student1.name} has grade ${student1.grade}');
print('${student2.name} has grade ${student2.grade}');
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.