static 키워드를 쓰면 자바가 구동될 때 메모리할당을 딱 한번만 하게되어 이점이 있다.
static을 붙인 메소드는 어디 쓰이면 좋을까.
1. 유틸성 메소드
정해져 있는 값을 가지고 포멧을 변경한다거나 도구처럼 정해놓고 자주 쓰는 특정한 메소드들에 대해 static으로 지정하고 사용한다.
2. 객체가 아닌 것
객체란 상태를 가지고 활동하는 것을 떠올릴 수 있다. 1번에서 언급한 것들 처럼 '도구'는 객체가 활동하는데 필요한 것이지 자체로 뭔가 활동하는 것이 아니다.
인스턴스를 생성하지 않아도 메소드를 호출 하고 싶다면 static 메소드로 만들도록 한다.
1, 2주차의 RandomUtils에서 매개변수가 없는 생성자를 private으로 생성하고 있었다.
랜덤값을 생성해주는 클래스는 '도구'와 같은 역할로 객체가 아니니 new 키워드로 객체생성을 할 수 없게 만든 것이 아닐까 라는 생각을 했다.
'Java' 카테고리의 다른 글
JAVA8) 함수형 인터페이스 (0) | 2020.12.11 |
---|---|
함수형 인터페이스 (0) | 2020.12.11 |
equals() Overriding (0) | 2020.12.09 |
String과 StringBuilder (0) | 2020.12.06 |
Arrays.asList() (0) | 2020.12.06 |