>  기사  >  Java  >  Java의 정적 키워드

Java의 정적 키워드

王林
王林원래의
2024-08-30 15:21:37648검색

Java는 소프트웨어 프로그램과 애플리케이션을 제작하는 데 사용되는 인기 있는 프로그래밍 언어로 90년대 중반에 개발되었습니다. Java는 모든 최신 운영 체제와 호환됩니다. 인기가 높은 이유는 정적 멤버처럼 애플리케이션 전체의 보안과 재사용성을 보장하기 위해 제공하는 특정 조항 때문입니다. Java에서 static 키워드는 주로 효율적인 시스템 메모리 관리와 공통 속성의 재사용성을 보장하는 데 사용됩니다. 변수, 메소드, 중첩 클래스 및 코드 블록과 함께 static 키워드를 사용할 수 있습니다. Static은 Java에서 비액세스 한정자로 사용됩니다. Static 키워드는 특정 멤버가 특정 유형의 개별 인스턴스가 아닌 유형 자체에 속함을 나타냅니다. 이는 해당 정적 멤버의 단일 인스턴스만 생성되어 클래스의 모든 인스턴스에서 공유될 수 있음을 의미합니다.

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

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

정적 메소드 생성

블록, 변수, 메서드, 중첩 클래스 등 정적 멤버를 선언하려면 멤버 앞에 static 키워드를 붙여야 합니다. 멤버를 정적으로 선언하면 클래스 개체와 독립적이므로 해당 클래스 개체가 생성되기 전에 해당 멤버에 액세스할 수 있습니다.

아래 예에서는 정적 메소드를 생성하고 해당 클래스에 대한 참조 없이 어떻게 호출할 수 있는지 살펴보겠습니다.

코드:

class Main // declaring a class name called staticTest
{
// Declaring a static method below
public static void myStaticmethod()
{
System.out.println("Hello, I was called from static method.");
}
public static void main(String[] args )
{
// Calling the static method without any object reference
myStaticmethod();
}
}

출력:

Java의 정적 키워드

여러 정적 블록으로 단일 클래스 만들기

정적 변수를 초기화하기 위해 특정 계산을 수행해야 하는 경우가 있습니다. 이러한 경우 클래스가 처음 실행될 때 한 번만 로드되는 정적 블록을 선언할 수 있습니다.

예:

코드:

class Main
{
// Declaring a static variable below
static int a = 10;
static int b;
// Declaring a static block below
static
{
System.out.println( " In static block now. " );
b = a*2;
}
public static void main( String[] args )
{
System.out.println(" Value of b : " + b);
}
}

출력:

Java의 정적 키워드

이제 정적 변수로 이동하면 변수가 정적으로 선언되면 변수의 단일 복사본만 생성되어 클래스의 모든 개체에서 공유되므로 기본적으로 전역 변수입니다. 클래스 수준에서만 정적 변수를 생성할 수 있다는 점을 고려해야 합니다. 프로그램에 정적 변수와 정적 블록이 모두 있는 경우 정적 변수와 정적 블록은 프로그램에 작성된 순서대로 실행됩니다.

메소드는 Java입니다. 앞에 static 키워드를 사용하여 선언하면 이를 정적 메서드라고 합니다. Java에서 가장 일반적으로 사용되는 정적 메소드는 기본 메소드입니다. 정적 키워드로 선언된 Java의 메소드에도 몇 가지 제한 사항이 있습니다.

아래에는 그 중 일부가 나열되어 있습니다.

  • 정적 메서드는 다른 정적 메서드를 호출하는 것만 허용됩니다.
  • 정적 메소드는 정적 데이터에만 직접 액세스할 수 있습니다.
  • 정적 메소드는 어떤 상황에서도 this 또는 super를 참조할 수 없습니다.

Java에서 Main 메소드가 왜 정적인가요?

  • Java의 메인 메소드는 정적 메소드입니다. 메인 메소드를 호출하기 위해 객체가 필요하지 않기 때문입니다.
  • 비정적 메서드인 경우 클래스 개체를 호출하려면 먼저 JVM(Java Virtual Machine)이 필요하며, 이를 위해서는 추가 메모리가 필요하므로 메모리 효율적인 프로세스가 아닙니다.

정적 멤버 활용 사례

정적 멤버와 변수를 사용해야 하는 상황과 시나리오에 대해 고민하고 계시나요?

모든 객체에 공통되는 모든 속성에 대해 정적 변수를 사용할 수 있습니다. 예를 들어 Student라는 이름의 클래스가 있는 경우 모든 학생 개체는 동일한 대학 이름 속성을 공유하며 이 경우 정적 변수로 선언할 수 있습니다. 값이 클래스 객체와 독립적인 경우 정적 변수를 사용할 수도 있습니다.

예:

코드:

class Student
{
int roll_no; // declaring an instance variable
String name;
static String college_name ="KC College"; // declaring a static variable for common property college name
//declaring the class constructor below
Student(int r, String n)
{
roll_no = r;
name = n;
}
// declaring a method to display the values
void display ()
{
System.out.println(roll_no+" "+name+" "+college_name);
}
}
//Declaring a test class to display the values of objects
public class Main{
public static void main(String args[]){
Student st1 = new Student(111,"Karan");
Student st2 = new Student(222,"Arjun");
//below we have changed the college name which was a common property of all objects with a single line of code
Student.college_name ="Jain Hind College";
st1.display();
st2.display();
}
}

출력:

Java의 정적 키워드

Java의 정적 중첩 클래스

  • Java에서는 최상위 클래스를 정적으로 선언할 수 없지만, 필요한 경우 중첩 클래스를 정적으로 선언할 수 있습니다. 이러한 클래스를 중첩된 정적 클래스라고 합니다.
  • Java의 정적 메서드는 런타임에 식별되며 재정의는 런타임 다형성의 일부이므로 정적 메서드는 재정의될 수 없습니다. 추상 메서드를 정적으로 선언할 수 없습니다.

결론 – Java의 정적 키워드

위의 예와 설명을 통해 Java는 정적 및 추상과 같은 여러 기능과 속성을 제공하여 사용하기에 안전하고 안전하며 견고하다는 결론을 내릴 수 있습니다. Java로 이어지는 이러한 방법은 보안이 주요 관심사인 시스템을 개발하는 데 여전히 매우 인기 있는 선택입니다.

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

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