Professional Documents
Culture Documents
06 클래스와 생성자
06 클래스와 생성자
클래스와 생성자
06-1 클래스와 객체
06-2 생성자와 맴버 초기화
06-3 명명된 생성자
06-4 팩토리 생성자
06-5 상수 생성자
06-1 클래스와 객체
클래스 선언과 생성
V3 에서는 생략하는
객체를 생성할 때는 new 연산자를 이용해도 되고 생략해도 됩니다 . 것을 적극 추천
06-1 클래스와 객체
객체 멤버와 클래스 멤버
객체 멤버와 클래스 멤버 ( 혹은 정적 멤버 ) 로 구분
클래스 멤버는 static 예약어로 선언한 멤버
Static Attr. 은 전체
프로그램에서 한 개만
존재
06-1 클래스와 객체
객체 멤버와 클래스 멤버
객체 맴버는 객체를 생성하고 그 이름으로 접근
Q: Java 에서는
어떻게 했나요 ?
06-3 명명된 생성자
this() 로 다른 생성자 호출하기
한 클래스에 생성자를 여러 개 선언하고
생성자에서 다른 생성자를 호출하는 경우
본문에서
다른 생성자 호출 불가능
기본 생성자 사용
내가 생성자를 정의하면
기본 생성자를 사용할 수
없음
실습 : 싱글톤 일반 생성자는 무조건 객체를 생성
Factory 는 필요에 따라 생성
빈폴더 생성 후 vscode 실행
main.dart 를 만들고 타이핑해서 실행
Class MySingleton {
static final MySingleton _instance = MySingleton._internal();
factory MySingleton() {
return _instance;
class MySingleton { } Singleton pattern
MySingleton._internal();
} } 하나의 객체만 갖는 클래스
main(){ main(){
var m1 = MySingleton(); var m1 = MySingleton();
var m2 = MySingleton(); var m2 = MySingleton();
Image
_cache
Image1 Image2
url url
06-5 상수 생성자
const 로 생성자 선언
상수 생성자 constant constructor 는 다음처럼 const 예약어로 선언하며 본문을 가질 수 없습니다 .
main() {
var obj1 = MyClass(1);
var obj2 = MyClass(2);
print('$obj1, $obj2');
}
06-5 상수 생성자
const 로 객체 생성
const 로 객체를 생성하려면 생성자 또한 const 로 선언해야 합니다 .
06-5 상수 생성자
const 로 객체 생성
상수 객체로 선언하면서 생성자에 전달한 값 ( 초깃값 ) 이 똑같으면 객체를 다시 생성하지 않고 이전 값으로 생성한
객체를 그대로 사용