자바 정적 방법 static 호출 비 정적 방법 non - static
1475 단어 Java
정적 방법 (static) 은 비 정적 방법 (non - static) 을 직접 호출 할 수 없습니다. 호출 하려 면 다음 과 같은 두 가지 방법 이 있 습 니 다.
public class Static_test {
public static void main(String[] args) {
//Method1();//
Method2();//
Static_test s = new Static_test();// Static_test
s.Method1();//
}
public void Method1() {// non-static
System.out.println("11111");
Method2();//
}
public static void Method2() {// static
System.out.println("22222");
}
}
※ 정적 방법 은 클래스 에 속 하지만, 일반적인 방법 은 대상 에 속한다
따라서 정적 방법 은 클래스 의 불 러 오기 에 따라 불 러 옵 니 다. 즉, 클래스 에 속 하 는 정적 방법 은 대상 이 존재 하지 않 을 때 접근 할 수 있 습 니 다. 일반적인 방법 은 new 대상 이 있어 야 이 대상 으로 접근 할 수 있 기 때문에 static 방법 내부 에서 non - static 방법 을 직접 호출 할 수 없습니다.
static 방법 은 class 를 불 러 올 때 먼저 완성 되 기 때문에 구조 방법 보다 빠 릅 니 다. 이때 non - static 속성 과 방법 은 초기 화 되 지 않 았 습 니 다. 프로그램 은 최종 적 으로 메모리 에서 실 행 됩 니 다. 변 수 는 메모리 에 자 리 를 잡 을 때 만 접근 할 수 있 습 니 다. 클래스 의 정적 구성원 (변 태 와 방법) 은 클래스 자체 에 속 하고 클래스 를 불 러 올 때 메모리 가 분 배 됩 니 다.클래스 이름 을 통 해 직접 접근 할 수 있 습 니 다. 비정 상 구성원 (변수 와 방법) 은 클래스 의 대상 에 속 하기 때문에 클래스 의 대상 이 생 성 (인 스 턴 스 생 성) 할 때 만 메모 리 를 할당 하고 클래스 의 대상 을 통 해 접근 할 수 있 습 니 다.따라서 하나의 정적 구성원 에서 비 정적 구성원 을 방문 하 는 것 이 잘못 되 는 이 유 는 클래스 의 비 정적 구성원 이 존재 하지 않 을 때 정적 구성원 이 이미 존재 하기 때 문 임 을 알 수 있 습 니 다. 메모리 에 존재 하지 않 는 것 에 접근 하 는 것 은 당연히 오류 가 발생 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.