coyangi
코딩하는 고양이
coyangi
전체 방문자
오늘
어제
  • 분류 전체보기 (23)
    • 🚀 Daily Life (1)
      • 덕질 (1)
      • 회고 (0)
    • 🍎 MAC OS (1)
    • 🔫 Algorithm (1)
      • Goormlevel (0)
    • 🌈 Programming (18)
      • Dart (7)
      • ETC (1)
      • Flutter (4)
      • Git (0)
      • Javascript (1)
      • Laravel (3)
      • PHP (2)
    • 🌎 Server (1)
    • 🧠 Database (0)
      • MySQL (0)
    • 💻 Computer Science (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Class
  • 인자
  • parameter
  • config
  • constructor
  • 앱
  • Instance
  • 맥
  • Laravel
  • XAMPP
  • HOBBY FAIR
  • 데이터 구조
  • override
  • 서버구축
  • php
  • 알고리즘
  • 덕질
  • Sizedbox
  • flutter
  • argument
  • CENTER
  • crud
  • ajax
  • json
  • 웹서버
  • Server
  • 라라벨
  • Containe
  • 플루터
  • dart

최근 글

티스토리

개인정보

  • 티스토리 홈
  • 스토리
  • 포럼
  • 로그인
hELLO · Designed By 정상우.
coyangi

코딩하는 고양이

[Dart] Getter, Setter, 접근 제한자
🌈 Programming/Dart

[Dart] Getter, Setter, 접근 제한자

2022. 6. 6. 22:30

🌟 접근 제한자

1. 정의

함수나 필드(변수) 접근을 제한할 수 있습니다.
• 기본적으로 다른 파일에서 import만 받으면 public 하게 접근이 가능합니다.
• private 로 접근을 제한 했을 경우, 파일 내부에서만 접근이 가능합니다.

2. private 선언 방법

필드와 함수 모두 이름 앞에 _ 을 입력해주면 됩니다.

class Student {
  String? _name;
}

🌟 Getter

1. 선언 방법

타입 get 게터명 {
  return 게터 반환 값
}

단순히 반환값만 작성할 경우 아래와 같이 람다식 함수로 표현할 수 있습니다.

타입 get 게터명 => 게터반환값

2. 예제

class Student {
  String? name;
  int? _age = 0;

  int? get age => _age;
}
void main() {
  Student student = Student();
  print(student.age);
}

🌟 Setter

1. 선언 방법

  set 세터명(세터 타입 매개변수명) {
  할당할_세터_변수 = 매개변수명;
}

2. 예제

class Student {
  String? name;
  int? _age = 0;

  set age(int? value){
  _age = value;
  }
}
void main() {
  Student student = Student();
  student.age = 20;
}

🌟 Getter, Setter 응용 예제

• index.dart

import 'class/student.dart';

void main() {
  Student girlStudent = Student(name: '오냥', age: 10);
  girlStudent.printTinfo();
  // ----------------
  // name: 오냥 학생
  // age: 10
  // ----------------

  // getter 가져오기
  girlStudent.name = '오묘';
  print('main = ${girlStudent.name}');
  // getter 오묘 학생
  // main = 오묘 학생
}

• student.dart

class Student {
  Student({required String name, this.age}) : _name = '$name 학생';

  // 변수 앞에 _가 있을 경우
  // priavat
  String _name; // 초기값 할당
  // public
  int? age; // null을 허용

  set name(value) {
    _name = '$value 학생';
  }

  String get name {
    print('getter $_name');
    return _name;
  }

  void printTinfo() {
    print('----------------');
    print('name: $_name');
    print('age: $age');
    print('----------------');
  }
}

'🌈 Programming > Dart' 카테고리의 다른 글

[Dart] 상속과 Super, Override  (0) 2022.06.07
[Dart] 클래스 생성자(Class Constructor)  (0) 2022.06.06
[Dart] 클래스(Class) 선언과 인스턴스(Instance)  (0) 2022.06.06
[Dart] 객체 다루기 Map 타입  (0) 2022.06.06
[Dart] 열거형 변수(List, Set)와 제네릭(Generic)  (0) 2022.06.06
    '🌈 Programming/Dart' 카테고리의 다른 글
    • [Dart] 상속과 Super, Override
    • [Dart] 클래스 생성자(Class Constructor)
    • [Dart] 클래스(Class) 선언과 인스턴스(Instance)
    • [Dart] 객체 다루기 Map 타입
    coyangi
    coyangi
    경기도 모 창고에서 은둔하다 양지 바른 땅으로 올라온 고양이

    티스토리툴바