인프런 커뮤니티 질문&답변

xhzero님의 프로필 이미지
xhzero

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

class를 직접사용

작성

·

106

0

강의를 들으면서 class에 대한 혼동이 생겨 문의합니다... static 을 쓰지 않았는데..class를 인스터스화 하지 않고 class를 직접사용이 가능한가요..?

 

미세먼지 강의 영상중 캡쳐해서 올립니다.

 

답변 1

-1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

static 키워드는 인스턴스화와 아무런 관계가 없습니다.

Dart 언어 강의를 봐보시면 static 프로퍼티는 클래스에 직접 귀속되고 static 아닌 프로퍼티가 인스턴스에 귀속됩니다.

그래서 어떤점이 문제라고 하시는지 잘 이해가 안됩니다. 조금 더 설명주시면 답변 드리겠습니다.

감사합니다!

xhzero님의 프로필 이미지
xhzero
질문자

클래스 StatusModel을 사용하려면,

StatusModel m=StatusMdel();.. 이렇게 인스턴스를 만들고

m을 사용해야 된다고 알고 있는데....

statuslevel 리스트 안에 정의된 StatusModel 클래스를 직접사용해도 되는건지 개념이 헷갈립니다... Dart언어 공부가 부족한거라면,, 강의 내용중 어디를 다시 살펴봐야 하나요?

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요.

직접 사용한다는 말씀을 잘 이해 못하겠습니다.

StatusModel m = StatusModel() <- 이게 인스턴스를 생성하는게 맞다는건 이해 하신 것 같습니다.

그런데 질문에서 캡처해주신 두번째 스크린샷은 같은 인스턴스를 생성하는 코드입니다.

"클래스를 직접 사용했다"를 어떤 부분에서 느끼신걸까요?

예를들어 calculate()라는 함수가 있을때 인스턴스에 귀속되는경우

StatusModel().calculate()

클래스에 귀속되는경우 (static)

StatusModel.calculate()입니다.

강의는 OOP를 봐보시면 되는데 질문에서 말씀하신 코드랑 스크린샷 코드랑 같은 코드라 다시한번 비교를 해보시면 금방 이해하실듯 합니다.

xhzero님의 프로필 이미지
xhzero

작성한 질문수

질문하기