인스턴스 메서드와 this
인스턴스 데이터에 작용하는 동작을 추가합니다
인스턴스 메서드와 this은(는) CoddyKit의 무료 Dart Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Dart Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
동작 추가하기
필드는 데이터를 저장하지만 클래스는 동작도 수행할 수 있습니다. 클래스 안에 정의한 함수를 인스턴스 메서드라고 합니다.
첫 번째 메서드
메서드는 함수와 같은 방식으로 작성하되 클래스 본문 안에 둡니다. 객체 자체의 필드를 직접 읽고 사용할 수 있습니다.
class Dog {
String name = "Rex";
void bark() {
print("Woof!");
}
}메서드 호출하기
인스턴스에 점 표기법을 사용해 해당 메서드를 실행합니다. 점은 어떤 객체가 작업을 수행해야 하는지 Dart에 알려 줍니다.
var d = Dog();
d.bark();메서드는 필드를 볼 수 있습니다
메서드 안에서는 이름만으로 필드를 사용할 수 있습니다. 메서드는 자신을 호출한 인스턴스에 자동으로 동작합니다.
void greet() {
print("Hi, I am $name");
}this 알아보기
this 키워드는 현재 인스턴스, 즉 지금 메서드가 실행 중인 바로 그 객체를 가리킵니다.
void greet() {
print(this.name);
}this가 선택적인 경우
대개 this는 암시되므로 생략할 수 있습니다. 이름이 충돌하지 않는다면 name과 this.name은 같은 의미입니다.
void greet() {
print(name); // same as this.name
}this가 필요한 경우
매개변수가 같은 이름의 필드를 가릴 때는 this가 필요합니다. 이를 사용하면 Dart에 매개변수가 아니라 필드를 의미한다고 알려 줄 수 있습니다.
void rename(String name) {
this.name = name;
}메서드는 매개변수를 받습니다
메서드도 모든 함수와 마찬가지로 입력을 받을 수 있습니다. 입력과 필드를 결합해 유용한 결과를 만들어 보세요.
void addAge(int years) {
age = age + years;
}메서드는 값을 반환할 수 있습니다
메서드에 반환 형식을 지정하고 결과를 반환하세요. 그러면 객체가 값을 계산해 코드로 돌려줄 수 있습니다.
String label() {
return "$name ($age)";
}메서드에서 메서드 호출하기
하나의 메서드가 같은 객체의 다른 메서드를 호출할 수 있습니다. 이름을 직접 사용하면 되며 this는 자동으로 이해됩니다.
void play() {
bark();
print("$name is playing");
}메서드가 중요한 이유
메서드는 사용하는 데이터 곁에 동작을 둡니다. 객체가 똑똑하고 독립적으로 동작하며 훨씬 쉽게 이해할 수 있게 됩니다. 🐕
빠른 확인
메서드에 필드와 같은 이름의 매개변수가 있습니다. 필드에는 어떻게 값을 설정하나요?
복습: 메서드와 this
메서드는 동작을 추가하고 필드를 직접 사용하며, 이름이 충돌할 때 this가 현재 인스턴스를 가리킨다는 점을 배웠습니다. 🎉
자주 묻는 질문
“인스턴스 메서드와 this” 강의는 무료인가요?
네 — “인스턴스 메서드와 this” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Dart Academy 강의 전체를 잠금 해제할 수 있습니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“인스턴스 메서드와 this”에서 뭘 배우나요?
인스턴스 데이터에 작용하는 동작을 추가합니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Dart Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Dart Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“인스턴스 메서드와 this” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Dart Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Dart Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 필드가 있는 클래스 정의하기
- 인스턴스 메서드와 this
- 게터와 세터
- 정적 멤버와 클래스 상수