매개변수 (Parameter)
// ()소괄호 안이 비어있음. player함수는 parameter가 없음.
void player() {
String name = "name";
}
// ()소괄호 내부가 parameter.
void player(String name) {
print(name);
}
매개변수는 함수나 생성자에서 사용되며, 호출 시 전달된 값을 받기 위한 변수입니다.
말 그대로 함수 내에서 변수가 바뀔 시 값이 바뀐다 생각하면 됩니다.
ex) y = 1000x
인스턴스 변수 (Instance Variable)
인스턴스 변수는 클래스의 속성입니다.
이 변수들은 클래스의 인스턴스(객체)에 속하며, 각 인스턴스마다 별도로 유지됩니다.
인스턴스 변수를 통해 객체의 상태를 저장하고 관리할 수 있습니다.
class Player {
String name; // 인스턴스 변수
String item; // 인스턴스 변수
int level = 1; // 인스턴스 변수
int xp = 0; // 인스턴스 변수
}
여기까지 보면 Properties와 굉장히 유사합니다.
사실 인스턴스변수 = 프로퍼티 라고봐도 무방합니다. 아주 약소한 차이가 있는데
Instance Variable:
- 클래스 내부에 선언된 변수.
- 각 인스턴스마다 독립적으로 값을 가짐.
Property
- 객체의 속성이나 특성을 나타내는 더 넓은 개념.
- 인스턴스 변수를 포함하지만, getter와 setter 메서드도 포함될 수 있음.
Properties라는 용어가 getter/setter를 포함하는 좀 더 포괄적인 개념입니다.
전역 변수 (Global variable)
전역 변수는 프로그램 전체에서 접근할 수 있는 변수입니다.
일반적으로 함수나 클래스 외부에서 정의되며, 프로그램이 종료될 때까지 유지됩니다.
// 전역 변수
int globalVar = 10;
void main() {
print(globalVar); // 출력: 10
modifyGlobalVar();
print(globalVar); // 출력: 20
}
void modifyGlobalVar() {
// 전역 변수에 접근하여 수정
globalVar = 20;
}
- 범위(Scope) : 프로그램 전체에서 접근 가능.
- 생명 주기(Lifetime) : 프로그램이 시작될 때 생성되고, 프로그램이 종료될 때까지 존재.
- 위치(Location) : 클래스나 함수 외부에 정의.
- 사용처 : 여러 함수나 클래스에서 공통적으로 사용해야 하는 데이터.
지역 변수 (Local Variable)
지역 변수는 특정 코드블록, 함수, 메서드 내에서만 접근할 수 있는 변수입니다.
해당 블록이 실행될 때 생성되고, 블록이 종료되면 소멸됩니다.
void main() {
// 지역 변수
int localVar = 5;
print(localVar); // 출력: 5
modifyLocalVar();
// print(localVar); // 에러: localVar는 modifyLocalVar에서 선언된 변수로, main 함수에서 접근 불가
}
void modifyLocalVar() {
// 지역 변수
int localVar = 10;
print(localVar); // 출력: 10
}
- 범위(Scope) : 변수가 선언된 블록 내부에서만 접근 가능.
- 생명 주기(Lifetime) : 변수가 선언된 블록이 실행될 때 생성되고, 블록이 종료되면 소멸.
- 위치(Location) : 함수, 메서드, 또는 코드 블록 내부에 정의.
- 사용처 : 특정 함수나 메서드 내부에서만 사용되는 데이터.
'Flutter > Dart Language' 카테고리의 다른 글
[플러터 Flutter] 초기화란? (0) | 2024.06.29 |
---|---|
[플러터 Flutter] Const, Final의 차이 그리고 컴파일타임과 런타임, Static (0) | 2024.06.29 |
[플러터 Flutter] Null-Safety와 late키워드 (0) | 2024.06.29 |
[플러터 Flutter] Private, getter/setter가 무엇인가? 어떻게 사용하는가? (0) | 2024.06.28 |
[플러터 Flutter] 인자(Parameter)와 인수(Argument)의 차이 (0) | 2024.06.27 |