[JAVA] 선언위치에 따른 변수(variable)

seonjeong·2023년 1월 15일
0

Java

목록 보기
14/26
post-thumbnail

변수의 종류

class Variables { // 쿨래스 영역
	int iv;				// -> 인스턴스변수
    static int cv;		// -> 클래스변수
    
    void method() { // 메서드 영역
    	int lv = 0;		// -> 지역변수
    }
}

인스턴스 변수 ( instance variable )

클래스 영역에 선언
클래스의 인스턴트를 생성할 때 만들어짐
인스턴스는 독립적인 저장공간을 가짐
객체는 인스턴스 변수를 묶어 놓은 것
객체 생성이 필요 O

클래스 변수 ( class variable )

인스턴트변수 앞에 static을 붙이면 됨
모든 인스턴스가 공통된 저장공간(변수)을 공유하게 됨
클래스가 메모리에 올라갈 때 (=클래스가 필요할 때, 객체가 만들어지기 전) 생성
객체 생성이 필요 X

지역 변수 ( local variable )

메서드 내에서 선언
메서드 내에서만 사용가능

클래스 변수와 인스턴스 변수

예시 ) 포커카드(카드 객체)

  • 속성
    : 무늬, 숫자 -> 객체마다 다르게 유지되어야 함
    : 카드의 폭과 높이 -> 모든 객체가 공통점으로 가져야 함
// 클래스 생성
class Card {
	// instance variable, 개별 속성
	String kind;	// 무늬
    int number;		// 숫자
    
    // class variable, 공통 속성
    static int width = 100;		// 폭
    static int height = 250;	// 높이
}

// 객체 생성후 사용
Card c = new Card();
c.kind = "Heart";
c.number = 5;
Card.width = 200;	// '클래스이름.변수명'으로 사용하는 것을 권장
Card.height = 300;
profile
🦋개발 공부 기록🦋

0개의 댓글

관련 채용 정보