class Car{
int maxSpeed;
}
Car c1=new Car();
=> car 클래스의 뜻은 car 리모콘이 생성된것이고 추후에 Carclass를 통해 new를 하면 car클래스의 복사본이 생긴다. 그리고 그 안에 int 변수가 있을것이라는 예언임
그니까 new의 개수만큼 생기는거.
class Car{
static int maxSpeed;
}
Car c1=new Car();
static을 붙이면 new에 int들 안생김. 그냥 car class안에만 변수 생김. 딱 하나만 생기는것.
class Person{
//사람이 100명이라면 각각의 나이가 존재(인스턴스변수 사용)
int age;
//한개만 존재해야함
static int 인류의평균나이;
//사람마다(객체마다) 달리는 성질 가져야하니까 static 붙이면 안돼
void 달리다(){}
//하나만~
static void 인류평균나이출력();
}
인류평균나이에다가 static 안붙이면 사람마다 저게 다 들어감. 그냥 클래스가 대표로 가져도됨.
//사람마다(객체마다) 달리는 성질 가져야하니까 static 붙이면 안돼
void 달리다(){}
대신 이렇게 쓰면 Person.달리다();
못함 Person.인류평균나이출력();
은 가능
static
붙이면 클래스에서 바로 뽑아쓸 수 있고 아니면 못함