static
자바의 static이란
static, java
- 클래스와 객체
- static 맴버는 클래스 안에 실재로 존재하면 객체에는 존재하지 않는다.
- 왜 main 메서더는 반드식 static 이어야하는가?
- static 메서드/필드의 용도는?
클래스와 객체
- 클래스는 타입이다. 집이 아니라 집의 설계도이다. 즉 실체가 아니다.
- 따라서 클래스의 데이터 필드에 데이터를 저장할 수는 없고, 클래스의 맴버 메서더를 실행할 수도 없다.
- new 명령으로 해당 클래스 타입의 객체를 만든 후, 그 객체에 데이터를 저장하고, 메서드를 실행하는 것이다.
- 하나의 예외가 존재하는데 그것이 static 이다.
static 맴버는 클래스 안에 실재로 존재하면 객체에는 존재하지 않는다.
왜 main 메서더는 반드식 static 이어야하는가?
메인은 프로그램에 출발점이기때문에 누군가가 객체를 생성할 수 없기때문에
static 메서드/필드의 용도는?
- main 메서드
- 상수 혹은 클래스 당 하나만 유지하고 있으면 되는 값(혹은 객체) ex) Math.PI System.out
- 순수하게 기능만으로 정의되는 메서드, 대표적인 예로는 수학함수들 ex) Math.abs(k) Math.sqrt(n)