참조하는 변수의 선언 위치 질문
일반적으로 참조하는 변수를 선언하는 위치가, 2가지로 파악이 됩니다.
1. Class 밖에 변수 선언
2. build 함수 내부에 선언
특별히 1번과 2번의 위치를 구분해서 선언하는 이유가 있는지 알고 싶습니다.
// ✅ 1. Class 밖에 변수 선언
class MainDrawer extends StatelessWidget {
const MainDrawer({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
// ✅ 2. build 함수 내부에 선언
return Drawer(
backgroundColor: DARK_COLOR,
child: ListView(
답변 1
4
안녕하세요.
변수 선언의 위치는 공학적으로 봤을때 메모리 관리와 연관이 큽니다.
하지만 이부분은 현대 프로그래밍에서 초보 단계에 크게 중요한 요소가 아니기때문에 약간 다르게 설명을 드리겠습니다.
뉘앙스의 차이로 생각하시면 될 것 같습니다.
클래스 밖에다 변수를 선언한다는 것은 해당 변수가 프로젝트 전반적으로 사용될 상수같은 개념일경우 많이 사용됩니다.
두번째로 클래스 내부 변수로 선언하는 경우는 클래스에 종속되는 값이고 상태관리를 해야할경우 사용됩니다.
마지막으로 build() 함수에 선언하는경우 build() 함수가 실행될때마다 새로운 값들을 반환해내야할때 사용됩니다.
세가지 어떤 방법으로 선언해도 틀리지 않은 상황이 많이 있습니다. 이럴땐 너무 고민할 필요 없이 최 하위 (위에서 말씀드린 순서의 역순)부터 선언하시면 될 것 같습니다.
LocationPermission.denied관련 질문입니다
0
588
1
videocontrollor dispose
0
431
1
onlogotap함수의 video nullable관련질문
0
391
1
setState 사용 차이
1
441
1
블로그 웹앱 배포 방법
0
507
1
sizedbox 위젯에 primary = RED_COLOR
1
434
1
개념 강의 순서 질문
0
408
1
materialstateProperty 다른 메소드관련질문
0
414
1
내 노트 모아보기
0
502
1
SafeArea (iPhone, Android)
0
408
1
web view 실행 안됩니다.
0
408
1
랜덤 숫자 생성기 프로젝트 관련
0
536
2
안도르이드 애뮬레이터 질문
0
384
1
super를 사용하는 건, 부모와 자식 클래스의 파라미터 이름이 꼭 같아야하나요?
0
473
1
선생님 flutter device를 크롬으로 했을때 http 통신이 안됩니다..
0
781
1
no element
0
441
1
암호화
0
235
1
책과 강의
0
386
1
voidcallback함수와 클래스내에 변수선언에 관한질문
0
475
1
android studio 세팅
0
480
1
오늘도 출근 세팅하기
2
563
1
재사용 클래스 임폴트 방법
0
480
1
가상화를 못하는 CPU인건가요? 확인 부탁드립니다.
0
399
1
flutter dispose 관련
0
1389
2





