>  기사  >  Java  >  Java의 정적 메소드

Java의 정적 메소드

王林
王林원래의
2024-08-30 16:17:02772검색

Java의 정적 메소드는 클래스의 일부이지만 클래스의 인스턴스로 간주되지 않는 메소드입니다. 오히려 Java의 정적 메소드는 인스턴스 호출 없이 쉽게 생성 및 구현될 수 있습니다. 정적 메서드는 클래스의 모든 데이터 멤버에 액세스할 수 있고 데이터 멤버를 조작할 수 있으며 액세스할 멤버 변수가 클래스의 변수 범위를 가져야 한다는 사실에도 불구하고 모든 값을 입력으로 넣을 수 있습니다. 메소드는 정적이어야 합니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문:

Java의 정적 메소드 표현은 다음과 같습니다.

public static void syntax_ex (String_name) {
Body of the program for execution.
}
  • public: 클래스의 액세스 한정자는 공개입니다.
  • static: 메소드의 범위는 static으로 만들어집니다. 이는 모든 멤버 변수와 반환 유형이 static의 범위 내에 있음을 의미합니다.
  • void: 구문 흐름의 이 키워드는 현재 메서드에서 처리되는 반환 유형이 없음을 나타냅니다.
  • syntax_ex: 클래스 이름. 정적 메서드가 현재 정의된 클래스의 일부이고 그 뒤에 문자열 이름이 있음을 나타냅니다.
  • 실행을 위한 프로그램 본문: 전체 핵심 논리 또는 정적 모드에 있어야 하는 경우 비즈니스 논리가 포함됩니다.
참고: 정적 메서드 선언에는 한정자로 static이 있어야 합니다. 그렇지 않으면 범위가 static에 대해 충족되지 않고 클래스의 멤버 변수에 액세스하거나 조작할 수 없습니다. 정적이 아닙니다. 반환 유형은 int, string, float 또는 사용자 정의된 데이터 유형일 수 있습니다. 일단 유지된 static 키워드는 일부 메모리 할당 기준을 따라야 합니다.

Java에서 정적 메소드는 어떻게 작동하나요?

  • 정적 메소드와 인스턴스 메소드는 Java에서 프로그래머들 사이에 약간의 혼란을 야기하는 두 가지 메소드이지만 이는 단순한 오해일 뿐입니다. 정적 메소드와 인스턴스 메소드는 모두 큰 차이가 있습니다. Java에서 정적 메소드가 어떻게 작동하는지 살펴보겠습니다. Java의 정적 메소드는 클래스에 상주하며 객체가 생성되지 않거나 인스턴스화가 수행되지 않은 경우에도 액세스할 수 있는 메소드입니다. 클래스 이름 뒤에 메서드 이름을 입력하고 인수를 전달하면 클래스의 모든 인스턴스에 액세스할 수 있습니다.
  • ClassName.methodName(인수)로 표현할 수 있습니다. 또한 이러한 메서드는 static 수정자로 정의된 범위를 사용하여 클래스에 있는 모든 멤버 변수와 개체에 메서드를 공유할 수 있어야 한다는 단일 목표로 구성됩니다. 이러한 메서드에는 재정의할 수 있는 기능이 없습니다. 오히려 프로그래머가 모든 인스턴스와 개체 또는 클래스의 멤버 변수 간에 공통 코드 조각을 공유해야 한다고 요구할 때마다 컴파일 시 컴파일러의 정적 바인딩을 사용하여 오버로드될 수 있으며 정적 메서드가 제공됩니다. 참조용 공통 정적 범위를 생성하여 모든 멤버, 개체 및 변수에 대한 일종의 공유 프로비저닝을 생성하므로 구원자입니다.
  • 클래스의 정적 메서드의 일부로 정적 필드를 사용하여 클래스의 모든 정적 필드에 액세스할 수 있습니다. 또한 정적 메소드도 관련되어 있으며 메모리 할당 기능도 지원 가능합니다. 이는 관련 값에 사용되는 메모리에 영구적으로 생성된 힙과 함께 정적 메서드 필드 및 변수의 일부를 저장합니다. 메모리 할당은 정적 메서드 힙 생성으로 개체를 지원하지 않거나 메서드 자체가 인스턴스화를 지원하지 않습니다. 하지만 마음속에 떠오르는 바로 다음 질문은 클래스의 일부로 모든 멤버에 대한 범위를 공유하고 생성하여 정적 메서드가 어떻게 작동하는지입니다.
  • 그 대답은 메서드에 인수로 전달된 지역 변수가 클래스에 의해 호출되고 스택 자체에 저장된다는 사실에 있습니다. 모두 클래스의 일부이고 이러한 방식으로 클래스에 속하기 때문에 객체를 생성하지 않고도 다른 멤버 변수나 메서드에서 쉽게 액세스할 수 있습니다.

Java의 정적 메소드 예

아래는 Java의 정적 메소드 예입니다.

예시 #1

이 프로그램은 언급된 주제의 표시를 수정하려고 시도하는 특정 멤버가 포함된 정적 클래스를 보여줍니다. 기본적으로 객체를 생성하지 않거나 인스턴스화 없이 정적 범위 내에 있는 클래스의 필드 또는 멤버 변수를 생성하고 액세스할 수 있음을 보여줍니다.

코드:

public class E_Static_Method_Ex {
int roll_no;
String stdnt_name;
static String subject = "Maths";
public void rectify()
{
subject = "English";
}
E_Static_Method_Ex(int roll, String name) {
roll = roll_no;
name = stdnt_name;
}
void represent()
{
System.out.println(roll_no+""+stdnt_name+""+subject);
}
public static void main(String[] args) {
String mrks = E_Static_Method_Ex.subject;
System.out.println(mrks);
}
}

출력:

Java의 정적 메소드

Example #2

This program demonstrates a very significant point which needs to be kept in mind while executing any static method code, which is like the arguments passed and declared in the class should be defined within the scope of static or should have initialized with the static keyword so that accessing the field or the member variable becomes easy and there remains no compilation error as represented in the given program.

Code:

public class Restrcn_Static_Class {
int bi = 30;
String name = "Welcome Everyone!";
public static void main(String[] args) {
System.out.println(bi);
System.out.println(name);
}
}

Output:

Java의 정적 메소드

Example #3

This program demonstrates the static variable that becomes accessible for the static class if the fields are declared and defined with static as a modifier; otherwise, the scope of static won’t get satisfied, and it will throw compilation error like the earlier example.

Code:

public class Static_Var_1 {
static int cnt=0;
Static_Var_1(){
cnt++;
System.out.println(cnt);
}
public static void main(String[] args) {
Static_Var_1 d1=new Static_Var_1();
Static_Var_1 dd2=new Static_Var_1();
Static_Var_1 dd3=new Static_Var_1();
Static_Var_1 dd4=new Static_Var_1();
Static_Var_1 dd6=new Static_Var_1();
}
}

Output:

Java의 정적 메소드

Conclusion

Static Method in Java is a useful method in a class and has a clear difference when compared with the instance method as static method gives programmers flexibility by making them free from object creation, i.e. from the method of object instantiation. It helps in making the entire static class dynamic and versatile in nature, unlike the instantiation method.

위 내용은 Java의 정적 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:자바 애니메이션다음 기사:자바 애니메이션