알고보면코딩천재
DartPad 본문
자바랑 다르게 class, staitc이 없다
static키워드는 class안에서만 쓸 수 있다. class 타입,
static변수 (=class변수)
동작할때 최초에 static을 안찾는다 (자바와의 차이점)
해당 파일을 읽어서 메모리에 다 띄워놓고 main을 찾는다
main을 찾으면 실행
void 리턴하지 않겠다는 뜻
int n1 = 10; 1급 객체
heap에 뜬다
class바깥에 있는 것은 메서드가 아니라 함수.
자바에서 class로 상태를 가진다.
상태를 변경시키려면 행위를 통해서 변경시킨다.
=> 객체 지향의 1원칙
그때 행위를 메서드라고 한다.
즉 함수는 상태를 변경시키지 않는다는 것.
자바에서 1급 객체는 class! (가장 상위에 쓸 수 있는 코드, 모든게 다 class에 들어가니까)
독립적으로 메모리에 뜰 수 있냐 없냐
다이나믹 (그 라인이 실행될때 뜨는 애들 ) = heap, stack(메서드 내부에서만)
static= class변수
calss가 없으면 static없다
목마름 = 상태
물마시기 = 행위 = 메서드(행위가 상태를 변경시킨다)
상태변경 x = 함수
여려명이서 동시에 쓰는 프로그램은 상태, 메서드로 짜면 꼬인다
요즘은 함수형 프로그래밍 (상태변경때문에)
class내부에 있는 것 = 메서드
dart라는 언어는
class가 1급 객체가 아니다
변수도 1급 객체다
함수도 1급 객체다
타입 4가지
int
String
double
bool
var은 컴파일 시점에 변하는게 아니라 실행될때 다이나믹 heap메모리
1. 자스를 빼겨서 만들었는데 타입을 만든것
2. 자바 .. 섞여있다 ~ 세련된 언어