인스턴스 변수
독립된 저장공간을 가지는 변수, 인스턴스(객체)를 생성해야만 호출이 가능
왜? 독립된 저장공간을 가지기 때문에 해당 저장공간을 불러와야 그 값을 호출할 수 있음
인스턴스 변수 vs 인스턴스 vs 레퍼런스 변수
인스턴스 변수 : 객체내에 존재하는 변수
인스턴스 : 객체를 의미한다.
레퍼런스 변수 : 인스턴스(객체)를 식별하기위해 사용자가 정의한 이름
(*과정 : 클래스의 이름을 정하고 그 이름에 클래스의 복제본인 인스턴스를 넣는다.)
-클래스를 복사한 게 객체
Car myCar; (클래스) (레퍼런스 변수);
myCar = new Car(); (레퍼런스변수) (인스턴스);
myCar.velocity = 0; (레퍼런스변수.인스턴스변수) = 0;
myCar.speedUp(); (레퍼런스변수.인스턴스메서드);
(*주의 : Car()은 Car클래스의 생성자이고 new Car()이 인스턴스)
클래스 변수
하나의 저장공간을 가지는 변수, 인스턴스(객체)를 생성하지 않아도 호출이 가능
왜? 하나의 저장공간을 가지고 있어서 변수 값을 바꾸면 바뀐 값을 모든 위치에서 공유한다.
지역 변수
메소드 내에서만 사용가능하고 메소드가 종료되면 소멸되어 사용할 수 없는 변수
인스턴스 변수
클래스 내에 선언된 변수
클래스 변수
클래스 내에 선언되고 static이 붙은 변수
지역 변수
메소드 내에 선언된 변수