Java에서 static 키워드는 내부 클래스, 메소드 및 변수에 적용될 수 있습니다.
정적 메서드 및 변수는 .클래스의 모든 인스턴스간에 공유됩니다.
클래스의 새 인스턴스를 만들지 않고도 호출하고 액세스할 수 있습니다.
public class Car
{
static String color;
static void beep()
{
System.out.println("빵빵!");
}
void brake()
{
System.out.println("멈춰!");
}
//Car.color = "RED";
//Car.beep(); 정적
}
Car myCar = new Car();
myCar.beep(); //정적이 아님
public class Car
{
static class Engine //일반 클래스는 정적이 불가능, 내부 클래스는 가능하다
{
...
}
}
Car.Engine carEngine = new Car,Engine();
(변수)
비 정적 변수 = 일반 변수(만들고, 대입하고 등 자유로움)
정적 변수 = 클래스의 모든 인스턴스간에 공유된다(고유하다) 즉, 모든 개체에서 공유하는 복사본이 단 하나만 존재한다.
(메서드)
정적 메서드는 클래스의 모든 인스턴스에서 공유하므로 비 정적 메서드와는 다르게 정적 메서드는 호출하기 위해 특정 개체를 만들 필요가 없다.
요약
Object 클래스는 java.lang 패키지에 있다.
Java의 모든 클래스는 Object 클래스에서 직접 또는 간접적으로 파생된다.
클래스가 다른 클래스를 확장하지 않으면 Object의 직계 자식 클래스이고,
다른 클래스를 확장하면 간접적으로 파생된다.
- 즉, Object 클래스 메서드는 모든 Java 클래스에서 사용할 수 있다.
Object 클래스의 메서드