본문 바로가기
버킷리스트/앱 만들기

오공완(with 코드팩토리) #14, #15 (typedef, class #1)

by 또또도전 2024. 6. 20.
반응형

 

# 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.

플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.

오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.

 

  typedef

 

함수들을 변수들처럼 사용할 수 있게 해주는 것이 typedef임. 어떤 개념인지 이해는 했으나 완벽하게는 이해하지 못했음.

void main() {
  add(1, 2);
  subtract(4, 2);
  
  Operation oper = add;
  
  oper(1, 2);
  
  oper = subtract;
  
  oper(4, 2);
}

typedef Operation(int x, int y);

void add(int x, int y){
 print('x 더하기 y 는 ${x+y}입니다.'); 
}

void subtract(int x, int y){
  print('x 빼기 y 는 ${x-y}입니다.');
}

 

 

  class

 

class: OOP(Object Oriented Programing, 객체지향 프로그래밍)

선언할 때 대문자로 시작.

클래스 변수는 Instance(인스턴스)라고 부르며, 클래스를 인스턴스로 바꾸는 것을 인스턴스화한다고 한답니다..ㅜ.ㅜ

 

constructor(생성자, 객체 지향 프로그래밍(OOP:objective-oriented programming)에서 쓰이는 객체 초기화 함수. 객체의 생성 시에만 호출되어 메모리 생성과 동시에 객체의 데이터를 초기화하는 역할을 한다. 출처: 네이버지식백과)

코드팩토리 설명: 처음 클래스가 선언이 될 때 원하는 변수들을 클래스에 집어넣는 기능

void main() {
  
  Idol rm = new Idol(
  'RM','BTS',);
  
  rm.sayName();
  print(rm.name);
  print(rm.group);

}

class Idol {
  String name;
  String group;
  
  Idol(
   String name,
    String group,
  ) : this.name=name, this.group = group;
  
  void sayName(){
    print('제 이름은 ${this.name}입니다.');
  }
}

 

컨스트럭터의 파라미터가 함수의 파라미터와 똑같다. 흠~!! 

여기에 named 파라미터를 넣을 수 있을까라고 생각하는 분이 분명히 있을 거란다. 흠~!! 난 아니군~

 

못 알아들었는데 오류까지 나는군..ㅜ.ㅜ

 

 

final을 넣어서 값을 바꾸지 못하도록 할 수도 있다고..

 

회식이다 주말이다 해서 공부를 며칠을 빼먹었는데 처음 배우는 기분이다.--;; 역시 공부는 꾸준히~~!!

반응형