package test;
class Account {
// 멤버변수 인스턴스변수 정수형 count 클래스변수 total
int count;
static int total;
// static 초기화 코드블록 또는 static 메소드 안에서는
// this 또는 super 참조변수를 사용 못함!
// 왜냐하면 this 또는 super는 객체를 지정하는 용도이기 때문
Account(int num) {
count = count + num;
total = total + num;
}
static void showTotal() {
System.out.println("total:" + total);
}
} // Account
public class Test2 {
public void methodA() {
System.out.println("methodA()");
}
public static void methodB() {
System.out.println("methodB()");
}
public static void main(String[] args) {
// methodA(); // 인스턴스단위 메소드인데 객체생성을 안하고 호출했으니 오류
methodB(); // 클래스단위 메소드이므로 객체생성없이 호출 가능
Test2.methodB(); // 클래스 단위 메소드 호출 이 형식으로 권장
Test2 t = new Test2();
t.methodA();
System.out.println("================");
// total 출력
System.out.println("total : " + Account.total); // 0
// showTotal() 호출
Account.showTotal(); // 0
// 객체생성 acc1
Account acc1 = new Account(10);
// total 출력
System.out.println(Account.total); // 10
// count 출력
System.out.println(acc1.count); // 10
// 객체생성 acc2
Account acc2 = new Account(10);
// total 출력
System.out.println(Account.total); // 20
// count 출력
System.out.println(acc2.count); // 10
} // main()
}
'IT > Java' 카테고리의 다른 글
자바 추상클래스 (0) | 2018.07.21 |
---|---|
자바 static, final (멤버변수, 메소드, 클래스) (0) | 2018.07.20 |
자바 static, 클래스변수, 인스턴스변수 (0) | 2018.07.20 |
자바 다형성 예제 (ArrayList) (0) | 2018.07.20 |
자바 다형성, 도형 예제 (0) | 2018.07.18 |