선언위치 변수 종류

0
  • 선언 위치에 따른 변수의 종류 = 3가지 타입
    • 인스턴스 변수 (iv)
    • 클래스 변수(cv / static 변수, 공유 변수)
    • 지역 변수 (lv)
class Variables {  - 클래스 영역 
	int iv;  // 인스턴스 변수
    static int cv;   // 클래스 변수 (static, 공유)
    
    void method() {  - 메소드 영역
    	int lv = 0;  // 지역 변수 
    }
}    
  • 클래스 영역 : 선언문만 가능
  • cv = static + iv

  • iv -> 인스턴스가 생성됐을때 만들어짐. (객체 생성)
    클래스영역에 선언되면 기본적으로 iv인데 여기에 static 붙이면 cv임.
  • 객체 : 프로그래밍 관점에서 iv (변수 여러개)를 묶어 놓은 것! 으로 생각하면 편함.
  • cv : 클래스가 메모리에 올라갈 때 = 즉, 필요할 때! 자동으로 만들어짐 ( 객체생성 안해도 됨 )
    -> 클래스 : 설계도, 객체가 만들어질 때 설계도가 먼저 있어야 만들 수 있음.
  • iv는 객체 생성이 필요하고, cv는 객체 생성을 하지 않아도 됨 (차이점)
    -> cv는 아무때나 사용가능
  • lv는 메소드 종료시 자동 제거. 메소드 범위(scope)내에서만 사용 가능
profile
백엔드를 공부하고 있습니다.

0개의 댓글