반응형
static
static이란 일반 객체를 만들 때 같이 메모리에 저장하는 것이 아닌 따로 메모리를 두어 static 구문을 객체가 공유하여 사용할 수 있게 해주는 구문이다. 즉, 인스턴스에 귀속되지 않고, 클래스 통째로 귀속이 되는 것을 의미한다.
class Family{
static String House;
String name;
Family(
String name,
):this.name = name;
void printMySweetHome(){
print('저는 ${this.name}이고, ${House}에 살고 있습니다.');
}
}
반응형
- Family클래스에서 House변수에 static을 사용하여 선언하였고, name변수는 static을 사용하지 않고 선언하였다.
- printMySweetHome()함수에서 House는 static을 사용하였기 때문에 this.를 변수앞에 붙이지 않고 사용한다.
💫 이는 하나의 인스턴스 별이 아닌, 클래스 자체에 귀속되기 때문이다.
장점
- 정적 변수는 상태값 또는 상수값 표현에 유용합니다.
- static 변수는 호출 전까지 초기화 되지 않습니다.
→ static의 최대 장점은 호출 전가지 초기화되지 않으므로, 각각 변수를 선언해서 인스턴스로 설정해주는 값등을 사용할 때 좋다.
예시
void main() {
Family uhee = new Family('유희');
Family yun = Family('윤');
}
void main(){
Family.House = '겁나 멋진 우리집';
uhee.printMySweetHome();
yun.printMySweetHome();
}
인스턴스별로 지정해주는것이 아닌 클래스자체에 직접접근하여 변경한다. House변수가 static이기 때문이다.
위와 같이 static 키워드가 있을 경웨 클래스에 직접 접근하여 사용한다.
outlinedButton에서 모양 변경하기
outlinedButton에서 모양을 변경하려면 styleForm을 사용해야 한다. 내가 쓴 기능 세개만 보고자 한다.
style: OutlinedButton.styleFrom(
padding: const EdgeInsets.symmetric(
vertical: 12, horizontal: 25),
shape: const RoundedRectangleBorder(
borderRadius:BorderRadius.all(Radius.circular(20))),
side: const BorderSide(width: 5, color: Colors.white)),
- padding : EdgeInsets을 사용하여 symmetric, all, only등을 사용하여 padding값을 줄 수 있다.
- shape : RoundedRectangleBorder에 borderRadius을 주어 버튼 바깥쪽을 둥글게 만들어 준다.
- side : BorderSide에 width와 color을 주어 바깥선을 설정해준다.
🔗 참고
https://hoony-gunputer.tistory.com/entry/flash-chat-static-구문
https://velog.io/@jiiyoung/Flutter-static-keyword
https://steemit.com/dart/@wonsama/flutter-dart-4-a-tour-of-the-dart-language
https://otrodevym.tistory.com/entry/Flutter-OutlinedButton-모서리-둥굴게-만드는-방법
반응형