guricode

자료형 정리 본문

앱/Flutter&Dart

자료형 정리

agentrakugaki 2025. 7. 15. 19:31

기본 개념 정리

  • 기본 자료형(int, double, bool, String 등)
    • 변수에 값 자체가 저장되고, 함수에 전달할 때는 값 복사(값 전달, call by value) 가 일어나.
    • 함수 내에서 매개변수 값을 바꿔도 원본 변수에는 영향이 없음.
  • 컬렉션형 자료형(List, Map, Set, 객체 등)
    • 변수에는 참조값(주소값) 이 저장되고,
    • 함수에 전달할 때도 참조값이 전달됨.
    • 그래서 함수 내에서 컬렉션을 수정하면 원본 컬렉션에 영향이 있음.

 

 

void temp(int param){
  param++;  // param은 값 복사된 변수라 원본 num에 영향 없음
}

void tempList(List<String> param){
  param.add('apple');  // param이 참조하는 리스트에 'apple' 추가 → 원본 리스트가 바뀜
}

 

  • temp(num) 호출 시 num 값이 복사돼서 param이 되고, param++ 해도 원본 num은 변하지 않아.
  • tempList(starList) 호출 시 starList의 주소가 param에 복사돼서, param.add() 하면 원본 리스트에 직접 영향을 줌.