이전에 우리가 클래스(설계도)를 만들때 객체를 만들어서 클래스에 넣고 객체에 저장되어있는 값을 꺼내서 사용 하는 형식이었잖아?? 근데 이번에는 객체를 생성하지 않고 값을 출력하는걸 한번 해볼거야! 잘 보도록!!
class Main {
public static void main(String[] args) {
계산기.합(10, 20);
}
}
class 계산기 {
static void 합(int a, int b) {
System.out.println(a + b);
}
}
일단 이런식으로 Static을 활용하는 예제를 가지고 왔어.
전에 올라온 클래스에서 본거랑 좀 다른점 찾았겠지??
바로 객체를 생성안하고 다른 클래스에 있는 값을 가져와서 출력한거 눈치 챘니?
자 이게 어떻게 가능하냐면 static은 객체 생성없어도 호출이 가능하다는점 !!
왜냐하면 static은 클래스가 메모리에 올라갈 때 자동으로 생성되기 때문에 객체를 생성하지 않아도 호출이 가능해! 그래서 메모리를 효율적으로 사용할 수 있고, 속도도 빨라!
이제 코드를 풀이를 해보자면,
그리고 선언 위치에 따라 변수들이 바뀌는거 알고 있니??
살짝 중요한 정보인데 알아둬
전역변수 : 전체에서 어디서든 호출하면 사용할수 있는 변수
지역변수 : 메서드내에서만 활동하는 변수
매개변수 : 메서드 내부와 외부를 연결 해주는 변수
클래스변수 : static int a; 타입앞에 static을 붙인게 클래스 변수라고 해 인스턴스를 사용하지 않고 생성 가능!!
끝이다