package ch06;

public class MemberCallEx1 {

	static int cv1 = 10;
	static int cv2 = cv1;			// 클래스멤버간 호출
	int iv1 = 100;
	int iv2 = iv1;				// 인스턴스멤버간 호출
	int iv3 = cv1;				// 클래스멤버 호출 (in 인스턴스멤버)

//	static int cv3 = iv1;			// 인스턴스멤버 호출 (in 클래스멤버) --> 불가(인스턴스를 생성해야됨)
	static int cv3 = new MemberCallEx1().iv1;

	public static void main(String[] args) {
//		cv2 = iv1;			// main메소드(클래스멤버)에서 인스턴스멤버 접근 불가
		cv2 = new MemberCallEx1().iv1;

//		iv1 = cv2;			// main메소드(클래스멤버)에서 인스턴스멤버 접근 불가
		new MemberCallEx1().iv1 = cv2;

//		method1();			// main메소드(클래스멤버)에서 인스턴스멤버(메소드) 사용 불가
		new MemberCallEx1().method1();

		method2();
	}

	void method1() {
		System.out.println(cv1 + cv2);
		System.out.println(iv1 + iv2);
	}

	static void method2() {
		System.out.println(cv1 + cv2);
		
//		System.out.println(iv1 + iv2);	// 클래스메소드에서 인스턴스멤버 사용 불가
		MemberCallEx1 m = new MemberCallEx1();
		System.out.println(m.iv1 + m.iv2);
	}

}

>
110
200
110
200

▲수학의 대입법처럼 객체를 형성해서 변수에 넣을수 있음.(12번째줄)

MemberCallEx1 m = new MemberCallEx1();
static int cv3 = m.iv1;

						

static int cv3 = new MemberCallEx1().iv1;