java - instance, static, final

씩씩한 조약돌·2024년 7월 4일
0

공부 기록✍️

목록 보기
37/37

1. 인스턴스(instance) 멤버

  • 객체에 소속된 멤버
  • 객체를 생성해야만 사용할 수 있는 멤버
public class Car {
	int gas;
    void setSpeed(int speed) {...}
}

public class CarExample {
	public static void main(String[] args) {
    	Car myCar = new Car();
        
        myCar.gas = 10;
        myCar.setSpeed(60);
    }
}

2. 정적(static) 멤버

  • 클래스에 고정된 멤버
  • 객체 생성하지 않고 사용할 수 있는 멤버
public class Calculator {
	static double pi = 3.14159;
    static int plus(int x, int y) {...}
    static int minus(int x, int y) {...}
}

public class CalculatorExample {
	public static void main(String[] args) {
    	double result1 = 10 * 10 * Calculator.pi;
        int result2 = Calculator.plus(10,5);
    	int result3 = Calculator.minus(10,5);
    }
}

3. final필드

  • 초기값이 저장되면 프로그램 실행 도중 수정불가 (읽기만 가능)
  • 필드 선언 시에 초기값 대입, 생성자에서 초기값 대입

4. 상수

  • 객체마다 저장할 필요가 없고(static), 불변의 값(final)
  • 상수이름은 대문자로만 작성
public class Earth {
	// 상수 선언 및 필드 선언 시 초기화
	static final double EARTH_RADIUS = 6400;
    // 상수 선언
    static final double EARTH_SURFACE_AREA;
    
    // 정적 블럭에서 상수 초기화
    static {
    	EARTH_SURFACE_AREA = 4 * Math.PI * EARTH_RADIUS * EARTH_RADIUS
    }
}

public class EarthExample {
	public static void main(String[] args) {
    	System.out.println("지구의 반지름: " + Earth.EARTH_RADIUS + "km");
        System.out.println("지구의 표면적: " + Earth.EARTH_SURFACE_AREA + "km^2");
    }
}

출처 : 이것이 자바다(한빛미디어)

profile
씩씩하게 공부중 (22.11~)

0개의 댓글