플러터는 Google에서 개발한 오픈 소스 모바일 UI 프레임워크로, 다양한 기능과 강력한 성능을 제공하며 빠르게 인기를 얻고 있습니다.
플러터 앱 개발에서 변수는 데이터를 저장하고 관리하는 데 중요한 역할을 합니다.
플러터에는 두 가지 기본적인 변수 범위 유형인 로컬 변수와 글로벌 변수가 있으며, 각각 다르게 사용됩니다.
1. 변수 범위 개요
변수 범위는 변수를 어디에서 선언하고 어디까지 접근할 수 있는지를 정의합니다. 플러터에서 변수 범위는 다음과 같이 두 가지로 나뉩니다.
- 로컬 변수: 함수나 블록 내에서만 유효한 변수입니다. 함수나 블록을 벗어나면 해당 변수에 접근할 수 없습니다.
- 글로벌 변수: 앱 전체에서 어디서든 접근 가능한 변수입니다.
2. 로컬 변수
로컬 변수는 함수나 블록 내에서만 유효한 변수입니다. 즉, 함수나 블록을 벗어나면 해당 변수에 접근할 수 없습니다. 로컬 변수는 일반적으로 다음과 같은 경우에 사용됩니다.
- 함수 매개변수: 함수에 전달되는 값을 저장하는 데 사용됩니다.
- 지역 변수: 함수 내에서만 사용되는 변수를 저장하는 데 사용됩니다.
- for 루프 반복 변수: 루프 반복 횟수를 제어하는 데 사용됩니다.
장점:
- 코드 가독성 향상: 변수 범위가 명확하여 코드를 이해하기 쉽습니다.
- 메모리 관리 효율성 향상: 사용하지 않는 변수가 메모리에 남아 있지 않아 메모리 사용량을 줄일 수 있습니다.
- 이름 충돌 방지: 동일한 이름의 변수가 서로 다른 함수나 블록에서 사용될 수 있어 이름 충돌을 방지할 수 있습니다.
단점:
- 함수나 블록 외부에서 접근 불가: 다른 함수나 블록에서 로컬 변수를 사용하려면 매개변수로 전달하거나 전역 변수를 사용해야 합니다.
사용 예시
void main() {
// 함수 내 로컬 변수
void showMessage() {
String message = "Hello, World!";
print(message);
}
showMessage();
// 블록 내 로컬 변수
for (int i = 0; i < 10; i++) {
print(i);
}
}
3. 글로벌 변수
글로벌 변수는 앱 전체에서 어디서든 접근 가능한 변수입니다. 즉, 함수나 블록 선언 위치와 관계없이 어디에서든 해당 변수를 사용하고 변경할 수 있습니다. 글로벌 변수는 일반적으로 다음과 같은 경우에 사용됩니다.
- 앱 전체에서 공유되는 데이터 저장: 앱 설정 정보, 사용자 정보 등 앱 전체에서 공유되는 데이터를 저장하는 데 사용됩니다.
- 상수 선언: 변경되지 않는 값을 저장하는 데 사용됩니다.
장점:
- 편리한 접근성: 앱 어디서든 변수에 쉽게 접근하고 변경할 수 있습니다.
단점:
- 코드 가독성 저하: 변수 범위가 명확하지 않아 코드를 이해하기 어려울 수 있습니다.
- 메모리 관리 어려움: 사용하지 않는 변수가 메모리에 남아 있을 수 있어 메모리 사용량이 증가할 수 있습니다.
- 이름 충돌 가능성 증가: 동일한 이름의 변수가 서로 다른 파일에 선언될 수 있어 이름 충돌을 일으킬 수 있습니다.
사용 예시
// 전역 변수 선언
int globalCount = 0;
void main() {
// 전역 변수 사용
print(globalCount);
// 전역 변수 변경
globalCount++;
// 다른 함수에서 전역 변수 사용
showGlobalCount();
}
void showGlobalCount() {
print(globalCount);
}
위 예시에서
- globalCount 변수는 전역 변수입니다.
- main 함수와 showGlobalCount 함수 모두 globalCount 변수에 접근하고 변경할 수 있습니다.
- globalCount 변수는 앱 전체에서 유지되므로, showGlobalCount 함수가 호출될 때마다 변경된 값을 출력합니다.
4. 글로벌 변수 사용 가이드라인
- 기본적으로 로컬 변수 사용: 변수는 가능한 한 로컬 변수로 선언하고 사용해야 합니다.
- 글로벌 변수는 신중하게 사용: 꼭 필요한 경우에만 글로벌 변수를 사용하고, 사용하지 않는 변수는 제거해야 합니다.
- 변수 이름 명확하게 설정: 변수 이름을 명확하고 의미 있게 설정하여 코드 가독성을 높여야 합니다.
- 상수 사용: 변경되지 않는 값은 상수로 선언해야 합니다.
5. 로컬 변수 vs 글로벌 변수 사용 가이드라인
- 기본적으로 로컬 변수 사용: 변수는 가능한 한 로컬 변수로 선언하고 사용해야 합니다.
- 글로벌 변수는 신중하게 사용: 꼭 필요한 경우에만 글로벌 변수를 사용하고, 사용하지 않는 변수는 제거해야 합니다.
- 변수 이름 명확하게 설정: 변수 이름을 명확하고 의미 있게 설정하여 코드 가독성을 높여야 합니다.
- 상수 사용: 변경되지 않는 값은 상수로 선언해야 합니다.
6. 추가 고려 사항
- 상태 관리: 앱 상태를 관리하기 위해서는 BLoC, Provider, Redux와 같은 상태 관리 라이브러리를 사용하는 것이 좋습니다.
- 테스트: 코드 작성 후에는 단위 테스트를 통해 변수 사용 및 변경 방식을 검증해야 합니다.
7. 결론
플러터에서 로컬 변수와 글로벌 변수를 적절하게 사용하는 것은 코드 가독성, 메모리 관리, 이름 충돌 방지를 위해 중요합니다.
변수 사용 가이드라인을 따라 앱 개발 효율성을 높이고, 유지 관리 가능한 코드를 작성하시기 바랍니다.
6. 마무리
이 블로그 게시물에서는 플러터에서 로컬 변수와 글로벌 변수에 대해 자세히 살펴보았습니다.
변수 범위의 개념, 각 변수 유형의 장단점, 사용 가이드라인 등을 다루었습니다.
플러터 변수 범위에 대한 이해를 바탕으로 더욱 효율적이고 유지 관리 가능한 플러터 앱을 개발할 수 있기를 바랍니다.
* 전 페이지에서 넘어온 파라미터는 로컬 변수와 비슷한 특성을 가지고 있습니다.
https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release
구글플레이 앱 배포의 시작! 비공개테스트 20명의 테스터모집을 위한 앱 "테스터 쉐어"
https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release
카카오톡 오픈 채팅방
https://open.kakao.com/o/gsS8Jbzg
'Flutter > Flutter Programming' 카테고리의 다른 글
플러터에서 파이어베이스 스토리지 이미지 URL로 이미지 삭제하기 (0) | 2024.06.20 |
---|---|
플러터에서 변수이름,클래스 이름,파일 이름에 관한 규칙 (0) | 2024.06.19 |
플러터에서 Scope 패키지 사용법과 옵션 (0) | 2024.06.19 |
플러터 변수 범위: 로컬 변수 vs 파라미터 (심층 비교) (0) | 2024.06.19 |
플러터에서 변수의 종류 (0) | 2024.06.19 |