static 에 관하여
static 가 없는 메서드 > 객체를 새로 만들어 줘야 함
static 가 있는 메서드 > 객체를 만들지 않아도 된다
static 는 언제 사용하는가? > 객체의 상태와 상관없이 동작 하는 기능에 사용된다
ex 계산기
class Calculator {
public static int add(int a, int b) {
return a + b;
}
public static int multiply(int a, int b) {
return a * b;
}
}
사용:
int a = Calculator.add(10, 20);
int b = Calculator.multiply(10, 20);
System.out.println(a); // 30
System.out.println(b); // 200
static 를 사용하면 안 좋은 경우
예를 들어 사람 객체를 만들 경우
class Person {
String name;
public void introduce() {
System.out.println("안녕하세요. 저는 " + name + "입니다.");
}
}
사람마다 이름이 다릅니다.
Person person1 = new Person();
person1.name = "철수";
Person person2 = new Person();
person2.name = "영희";
person1.introduce();
person2.introduce();
결과:
안녕하세요. 저는 철수입니다.
안녕하세요. 저는 영희입니다.
여기서 introduce()는 각 객체의 name을 사용합니다.
따라서 일반적으로 static을 사용하지 않습니다.