반응형
클래스 변수 Static Field
모든 인스턴스에서 사용(접근)할 수 있는 변수
인스턴스를 통해 접근 할 수도 있지만 애초에 클래스를 통해서도 접근 할 수 있다.
변수 앞에 static을 적어 클래스의 소속 변수라는 것을 알려준다
인스턴스 변수 Non-Static Field
인스턴스마다 다른 값을 가지는 변수
- 클래스에서 this.를 사용해 인스턴스에서 변수를 지정하도록 만들어 줄 수 있음
package org.opentutorials.javatutorials.classninstance;
class Calculator2 {
static double PI = 3.14;
// 클래스 변수인 base가 추가되었다.
static int base = 0;
int left, right;
public void setOprands(int left, int right) {
this.left = left;
this.right = right;
}
public void sum() {
// 더하기에 base의 값을 포함시킨다.
System.out.println(this.left + this.right + base);
}
public void avg() {
// 평균치에 base의 값을 포함시킨다.
System.out.println((this.left + this.right + base) / 2);
}
}
public class CalculatorDemo2 {
public static void main(String[] args) {
Calculator2 c1 = new Calculator2();
c1.setOprands(10, 20);
// 30 출력
c1.sum();
Calculator2 c2 = new Calculator2();
c2.setOprands(20, 40);
// 60 출력
c2.sum();
// 클래스 변수 base의 값을 10으로 지정했다.
Calculator2.base = 10;
// 40 출력
c1.sum();
// 70 출력
c2.sum();
}
}
인스턴스 메소드는 클래스 멤버에 접근 할 수 있다
- 인스턴스 메소드가 생성되어있다면 이미 클래스가 생성되어 있다는 것을 의미한다
클래스 메소드는 인스턴스 멤버에 접근 할 수 없다
반응형
'자바 Java' 카테고리의 다른 글
두 정수 입력받아 비교하기 (0) | 2019.09.08 |
---|---|
기초-입출력 연월일 입력받아 출력하기 (0) | 2019.09.08 |
클래스와 인스턴스 그리고 객체 (0) | 2019.09.08 |
객체 / 헤어나올 수 없는 객체 지향 프로그래밍 (0) | 2019.09.08 |
switch 문 활용 (0) | 2019.09.07 |
댓글