JAVA/클래스

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

별초롱언니 2025. 5. 7. 17:30

1. 인스턴스 변수

인스턴스 변수는 객체마다 가지는 고유한 변수

 

2. 클래스 변수

클래스 변수는 모든 인스턴스가 공통된 값을 공유하는 변수 

package chapter05;

public class Cars {
	
	static int wheel = 4;	// 클래스 변수
	int speed; 				// 인스턴스 변수
}
package chapter05;

public class exam34 {

	public static void main(String[] args) {
		System.out.println(Cars.wheel);	// 클래스 변수 접근 가능	// 4
		//System.out.println(Cars.speed);// 에러발생! 인스턴스 변수 접근 

		Cars myCar1 = new Cars();
		
		System.out.println(Cars.wheel);	// 4
		System.out.println(myCar1.speed); // 인스턴스 생성 후에는 접근 가능	// 0
		
		Cars myCar2 = new Cars();
		
		System.out.println("\n<변경 전>");
		System.out.println("myCar1.speed : " + myCar1.speed) ;	// 0
		System.out.println("myCar2.speed : " + myCar1.speed) ;	// 0
		System.out.println("myCar1.wheel : " + myCar1.wheel) ;	// 4
		System.out.println("myCar2.wheel : " + myCar2.wheel) ;	// 4
		
		myCar2.speed = 100;
		myCar2.wheel = 5;
		
		System.out.println("\n<변경 후>");
		System.out.println("myCar1.speed : " + myCar1.speed) ;	// 0
		System.out.println("myCar2.speed : " + myCar2.speed) ;	// 100
		System.out.println("myCar1.wheel : " + myCar1.wheel) ;	// 5
		System.out.println("myCar2.wheel : " + myCar2.wheel) ;	// 5
		
	}

}

 

'JAVA > 클래스' 카테고리의 다른 글

생성자  (0) 2025.05.08
오버로딩  (0) 2025.05.08
메서드  (0) 2025.05.07
객체지향언어란?  (0) 2025.05.06