: '고정된'이라는 의미의 정적멤버. 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드. 객체에 소속된 멤버가 아니라 클래스에 소속된 멤버.
ex) public class Calculator {
String color; //계산기 별로 색깔이 다를 수 있음.
static double pi = 3.141592; //계산기에서 사용하는 원주율 값은 동일.
정적멤버 사용 : new 클래스 생성 없이 클래스 이름을 바로 호출. (클래스명.정적메소드)
정적 초기화 블록 : 정적 필드는 초기값을 주는 것이 보통이나, 계산이 필요한 초기화 작업 시 정적 초기화 블록을 생성.
static String company = "Samsung";
static String model = "LCD";
static String info;
static {
info = company + "-" + model;
}
: final 필드는 초기값이 저장되면 최종적인 값이 되어서 프로그램 실행 도중에 수정 불가.
: 원주율, 지구의 무게나 둘레 등 변하지 않는 불변의 값을 저장하는 필드. 객체마다 저장되고 매개값을 통해 여러 값을 가질 수 있는 final과 달리, 한번 초기값 저장되면 변경 불가.
: 선언부만 있고, 구현부가 없는 제한자. 오로지 오버라이딩을 위해 존재하며 abstract 자체로 클래스를 생성할 수 없고, 상속해야 사용할 수 있음.