| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- LLM
- Clean Architecture
- abap
- develop
- 자바스크립트
- lifecycle
- JS
- 자바 출력 방식
- 엡
- JQ
- nodejs
- 배포
- riverpod
- firebase
- 자바 포맷 출력
- 단축키
- java
- unity
- println
- 앱심사
- java 콘솔 출력 차이
- npm
- Flutter
- UI/UX
- printf
- ListView
- scss
- DART
- java 출력
- react
- Today
- Total
guricode
flutter 객체지향 프로그래밍 1 - Class,Instance,Constructor 본문
- 객체지향 프로그래밍?OOP(Object Oriented Programming)
Class를 가지고 프로그래밍 하는것 .
Class는 기본적으로 object를 상속받는다.
이것을 코드로 풀어본다면 이렇게 된다.
class left extends Object{}//굳이 코드로 쓴다면 이렇게 표현된다
//혹은
class left //이렇게 써도 extends Object가 생략되었을 뿐이고 객체를 상속받는건 같다.
저 두개의 코드는 같은 뜻이다.
객체지향 프로그래밍이라는 것은 결국 class가 바로 이 객체(Object)를 기본적으로 상속받기 때문이다.
class left extends Object{}
extends는 왼쪽에 있는 left라는 class를 오른쪽 Object에 클래스를 물려받는다는것.
물려받는다는 뜻이 헷갈릴수 있는데 부모의 ‘속성’들을 물려받는다고 보면 된다.
속성은 클래스 안에서 발생한 method들을 그대로 물려받는다.
그리고 Class를 가지고 instance로 만들어 써야한다.
class는 결국엔 instance로 만들어 쓰기위해 태어났다고 보면 된다.
스크립트에서 자주쓰는 방법과 비슷하게 함수를 사용해서 중복되는 코드를 없앨수 있는것처럼 class도 인스턴스를 생성하여 무한하게 param을 추가할수 있다.
**Class는 전체적인 설계도 같은 것이고, 그걸 instance로 만들어 소환해서 param을 넣은다음 결과물을 만들어 내는것이다.
- void?
void main(){
}
void는 번역하면 공허라는 뜻이다.
공허라는 뜻과 비슷하게 void함수는 void return type으로 어떤값을 받을수 없다.
return이 없는 함수를 만들때 사용하면된다.
- class?
void main(){
}
class Idol{
String name = 'black pink';
List<String> members = ['jisu','jeni','lisa','roseh'];
void sayHello(){
print('hi Black pink');
}
void introduce(){
print('members are ');
}
}
Idol이라는 클래스를 생성하고 List가 String 타입으로 members 변수를 생성했다
그리고 클래스를 사용할때는 함수를 사용하는것처럼 인스턴스로 만들수 있다.
- Instance?
void main(){
Idol blackPink = Idol();
}
class Idol{
.....
Idol이라는 클래스로 변수를 만들려면 Idol이라는타입을 선언하고 변수 선언 할 때처럼 이름을 쓰면 된다.
여기서 클래스 같은 경우에는 인스턴스인 Idol(); 앞에 new를 넣어도 되고 안 넣어도 된다. dart에서는 전부 사용한다.
void main(){
Idol blackPink = Idol();
print(blackPink.name);
print(blackPink.members);
blackPink.sayHello();
}
class Idol{
String name = 'black pink';
List<String> members = ['jisu','jeni','lisa','roseh'];
void sayHello(){
print('hi Black pink');
}
void introduce(){
print('members are ');
}
}
//출력값
//black pink
//[jisu, jeni, lisa, roseh]
//hi Black pink
함수에서 parameter를 받아서 사용 할 수 있는 것처럼 class에서도 parameter를 받아서 쓰는 방법이 있다. 이 내용은 다음 노트에
- 생성자(constructor)
...
class Idol{
Idol();//dafault constructor
...
기본적인 constructor의 형태다.
flutter에서 constructor는 클래스와 동일한 이름을 사용 해야 한다.
'앱 > Flutter&Dart' 카테고리의 다른 글
| 잘 모르면 애매한 Dart 간단 정리 - final, const, late, null (0) | 2025.06.23 |
|---|---|
| dart // API 호출 차단 문제 (0) | 2025.06.20 |
| appBar에서 타이틀이 가운데 정렬 되지 않을때 (0) | 2025.06.19 |
| 상태관리의 정의와 setState의 한계 (1) | 2025.06.19 |
| Flutter의 기능성 위젯 (1) | 2025.06.18 |