자바에서 static을 사용하는 이유

닐리아나·2024년 9월 22일

자바

목록 보기
1/2
post-thumbnail

최근 개발을 진행하면서 static이 정확히 언제 사용하는지 헷갈리는 경우가 많았다.
해당 내용을 정리해보자.

결론적으로 static 은 실무에서 공통적으로 쓰는 변수나 메소드를 바로 접근하여 쓸수있도록 하게한다.

프로젝트를 진행하다보면 해당 프로젝트의 규칙과 프레임워크에 맞게 공통함수들을 제작하는데, 이때 공통Util 들이 static 으로 적용된다.

개발자들은 CommonUtil.getRowCount(단순 예) ~ 처럼 공통화된 메서드들을 접근하여 개발이 용이해진다.

아래에 정적메소드로 예를 들겠다.

//이 코드는 인프런_김영한 자바 기본 강의를 참고하여 작성하였습니다.

//공통 유틸클래스의 공통함수
public class CommonUtil {
 	public static String deco(String str) {
 		String result = "*" + str + "*";
 		return result;
 	}
}
public class CommonMain {
//데코함수를 정적 메서드로 선언
 	public static void main(String[] args) {
 		String s = "hello java";
 		String deco = CommonUtil.deco(s);
		 System.out.println("before: " + s);
 		System.out.println("after: " + deco);
 	}
}

/*실행결과*/
before: hello java
after: *hello java*

이처럼 정적 메서드는 별도의 인스턴스 호출없이 호출할 수 있다.

이 기능이 가능한 이유는 static이 붙은 변수,클래스,메소드는 java메서드 영역에 할당되기때문이다.

메서드 영역은 프로그램의 공통데이터를 관리하고, 이 영역의 정보들은 모두 공유된다.

지금은 static의 사용 이유에 대해 알아보는것이기에
해당 자바 메모리 구조에 대한내용은 다음 포스트에 다루도록 하겠다.

0개의 댓글