guricode

한눈에 보는 클래스와 메서드 요약 본문

앱/Flutter&Dart

한눈에 보는 클래스와 메서드 요약

agentrakugaki 2025. 6. 25. 16:28

 

class Circle {
  //정적 변수,메서드는 모든 객체가 값을 공유한다
  //인스턴스는 인스턴스 내에서만 공유한다.
  static double number = 456; //정적 변수
  String myName = 'lys'; //인스턴스 변수

  static void printDouble() {
    //정적메서드
    print(number); //인스턴스 변수 사용 불가 정적변수만 사용가능
  }

  void printMyName() {
    //인스턴스 메서드, 인스턴스는 this사용가능
    print(myName);
  }

  //생성자도 메서드의 일종

  //기본 생성자 - 매개변수가 없는 생성자
  //자동으로 명시되기 떄문에 클래스에 굳이 명시하지 않아도된다.
  //new라는 키워드가 있어도되고 없어도된다.안써도됌
  //인스턴스 변수들이 모두 초기화 되어있는 상태여야한다.(초기값이 있어야한다)
  Circle();

  //매개변수 생성자 - 매개변수를 갖는 생성자, 외부에서 인스턴스 변수들의 초기값을 설정한다
  //객체를 생성할떄 매개변수를 넣어야한다
  //세가지 형태

  //Circle(this.myName);

  //Circle(String name) : this.myName = name;

  //Circle(String name){
  //this.myName = name;}

  //네임드 생성자 -잘안씀
  //[클래스이름].메서드이름.( 타입 매개변수 이름 ) : this.변수;
  //Circle.fromList(List values)
  //   : this.myName = values[0];
  
  //생성자의 특장 - 클래스와 이름같음. void타입임. 클래스를 통해 객체가 생성될떄 자동으로 호출된다.
  //생성(호출)할수있는 객체수에는 제한이 없다. 인스턴스?
  //각 객체들은 독립적이다(당연하지만;;) 
  
  
}

void main() {
  //호출방법
  Circle circle = Circle();

  print(Circle.number);
  print(circle.myName);

  Circle.printDouble();
  circle.printMyName();
}

//속성과 메서드는 클래스 안에 있는 요소라서 클래스의 멤버라고 부르기도한다

 

추가 + 

제네릭은 타입을 바꿔서 쓸수 있게 해준다. 제네릭이 잘 이해 안갔는데 좀 알겠네..

쉽게말하면 제네릭은 타입을 지정하지 않고 타입변수? 로 둔 다음. 호출할떄 타입을 넣어서 쓸수 있게 하는 것이다.