[Java] class 스태틱 메서드 호출 관련

박철현·2023년 3월 31일
0

문제해결

목록 보기
2/17

금일 스프링부트를 공부하던 중 객체를 생성하지 않고 static 메서드를 호출하는 경우를 확인했다.

ex)

class Party{
	public static String getName(){
    return "홍길동";
    }
 }
 
 public class PartyPeople {
 	public static void main(String[] args){
    	System.out.println(Party.getName());
        }
 }

Party.getName() 이 부분에서, Party라는 객체를 생성 해야만 호출할 것이라 예상했는데 아니였다.

이유를 찾아보니 static의 경우 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것이기 때문이였다.
주로 static 활용 사례는 아래와 같다.

  • static 변수 : 변하지 않을 값
  • static 메소드 : 유틸리티성 메서드(오늘의 날짜 구하기 등)
profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글