본문 바로가기
반응형

프로그래밍 언어/Dart6

[Dart] 추상화 클래스와 상속, Mixin 추상화 클래스 추상화 클래스는 객체를 생성할 수 없는 클래스이다. 추상화 클래스는 다른 클래스들이 직접 구현 해야 하는 메소드들을 모아놓은 것이라고 할 수 있다. 먼저 추상화 클래스를 작성해보자 abstract class Human { void walk(){} //반환 값과 함수 이름만 선언 } Human이라는 추상화 클래스는 walk라는 메소드를 가지고 walk 메소드는 void 반환타입을 가진다. 그리고 이 Human 추상화 클래스를 사용하기 위해서 Player 클래스가 Human 클래스를 상속을 받는다. 다음과 같이 하면 된다. class Player extends Human{ String name; int xp; Team team; Player({required this.name,required .. 2023. 10. 25.
[Dart] Cascade Notation Cascade Notation 이러한 코드가 있다. class Player{ String name; int xp; String team; Player({required this.name,required this.xp,required this.team}); void sayHello(){ print("hi my name is $name"); //클래스 함수 내에서는 this를 쓸 필요가 없음 } } void main() { var test = Player(name:'test', xp:1200, team:'red'); } 여기서 인스턴스의 프로퍼티 값을 바꾸고 싶다면 어떻게 해야 될까? 일반적으로는 test.name = '~~~' 이런 식으로 하나씩 바꿔 주어야 될 것이다. 근데 이러면 비슷한 코드를 계속 써.. 2023. 10. 25.
[Dart] 클래스 - 클래스와 생성자 다트에서의 클래스는 매우 중요하다. 자바처럼 클래스로 이루어져있기 때문이다. 우선 클래스를 만들어보자 class Player{ String name = "chobkyu"; } . 이렇게 만들면 Player라는 이름에 name이라는 프로퍼티를 가진 클래스를 만들 수 있다. 클래스를 생성할 때는 함수에서 변수를 사용할 때와는 달리 변수에 타입을 꼭 명시해주어야 한다. 그리고 만약 변수를 수정할 수 없게 해놓고 싶다면 타입 앞에 final을 붙여주면 된다. Player 클래스를 좀 더 작성해보자. class Player{ final String name = 'chobkyu'; //final 변수는 수정 불가 int xp = 1500; void sayHello(){ print("hi my name is $nam.. 2023. 10. 25.
[Dart] 함수 Parameter type Dart에서는 파라미터에 타입을 선언을 해줘야 한다. 문자열을 넘길거면 String, 숫자를 넘길거면 int, num, double 등 각각의 타입을 명시해주어야 한다. 화살표 함수로도 사용이 가능하다. 바로 해당 연산을 리턴한다. Named parameters 함수에 인자를 넘길 때 이름을 붙여서 명시적으로 인자를 넘길 수 있다. 이를 name argument라고 하는데 이렇게 넘겨주면 null 값이 전달되어 에러가 날 수 있기 때문에 미리 초기값을 지정해주거나 인자에 required를 명시해서 해당인자들을 무조건 넣어줘야한다고 해줘야 한다. optional positional parameters 위 이미지 처럼 함수에 인자를 전달할 때 []로 변수를 묶고 디폴트 값을 주게 .. 2023. 2. 26.
반응형