백엔드

[Java] static 메서드에서 인스턴스 변수,인스턴스 메서드접근하기, static import

음그냥 2025. 8. 24. 20:21
반응형

사용하고자하는 변수나 메소드를 매개변수로 전달해주면됨

 

public static void staticCall(DecoData data) {
    data.instanceValue++;
    data.instanceMethod();
}

 

 

static import 는 매번 호출할때마다 클래스.메서드명() 으로 static 메서드를 호출했었는데, 임포트해놓으면 메서드명() 만 적어도됨

DecoData.staticCall(); 처럼 호출했던걸 staticCall(); 만 써서 호출가능

static 변수도 사용가능

//import 문에 static 패키지명.클래스명.static메서드명 써주면됨
import static static2.DecoData.staticCall;

//전체 메서드 쓸거면 static 패키지명.클래스명.*
import static static2.DecoData.*;
import static static2.DecoData.*;

public class DecoDataMain {
	public static void main(){
    	// DecoData.staticCall();를 아래처럼 호출가능
        staticCall();
        staticCall();
        staticCall();
        staticCall();
        staticCall();
    }
}

 

클래스에 static변수, static 메서드만 사용시

클래스 생성자를 private으로 만들어서 외부에서 생성못하게 생성자를 만드는게 좋음

(객체생성을 막음으로써 쓸데없는 메모리사용 방지)

 

인텔리제이사용시,

단축키 ALT + 엔터 눌러서 'Add on-demand static import for ~ ' 뜨는거 누르면 됨

 

참고로, 객체생성시 지역변수 안써도  ALT + 엔터 누르면 객체생성시 지역변수 삽입도 자동으로 해줌

 

Student student = 

이부분을 자동으로 생성해서 넣어주니까 개꿀기능임

참고하길..

반응형