>Java >java지도 시간 >Java의 정적 메서드와 비정적 메서드의 차이점은 무엇입니까?

Java의 정적 메서드와 비정적 메서드의 차이점은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-21 03:49:13782검색

What's the Difference Between Static and Non-Static Methods in Java?

Java의 정적 메소드와 비정적 메소드의 대조

Java에서 메소드는 크게 정적 메소드와 비정적 메소드로 분류됩니다. (인스턴스) 메소드. 효과적인 프로그래밍을 위해서는 이들 간의 차이점을 이해하는 것이 중요합니다.

정적 메서드

정적 메서드는 해당 클래스의 특정 인스턴스가 아닌 클래스와 연결됩니다. 객체를 인스턴스화하지 않고 클래스 이름 자체를 사용하여 호출할 수 있습니다. 정적 메서드는 개별 객체의 상태와 무관한 작업을 수행하도록 설계되었습니다.

코드 1에 제공된 예제에서 add() 메서드는 static으로 선언되었습니다. 단순히 두 개의 정수를 받아들이고 그 합을 반환합니다. 인스턴스별 정보에 의존하지 않기 때문에 B 객체를 생성하지 않고도 A.add()를 사용하여 실행할 수 있습니다.

비정적 메서드

이와 대조적으로, 비정적 메서드는 해당 클래스에서 생성된 개체에 바인딩됩니다. 이 메서드를 호출하려면 클래스의 인스턴스를 만들어야 합니다. 비정적 메서드는 일반적으로 인스턴스별 데이터에 대해 작동하거나 객체의 상태에 따라 작업을 수행합니다.

코드 2에서는 add() 메서드의 static 키워드가 제거되었습니다. 이제 A 클래스의 i 인스턴스 변수에서 작동합니다. 이 메소드를 호출하려면 main() 메소드에 표시된 대로 A의 인스턴스를 생성해야 합니다.

주요 차이점

정적과 비-의 주요 차이점 정적 메소드는 객체와의 연관에 있습니다. 정적 메서드는 클래스 자체를 통해 액세스할 수 있는 반면, 비정적 메서드에는 개체 인스턴스화가 필요합니다. 또한 정적 메서드는 인스턴스 수준 데이터에서 작동할 수 없지만 비정적 메서드는 가능합니다.

간단히 말하면, 작업이 개별 개체 상태와 독립적일 때는 정적 메서드가 선호되고, 다음과 같은 경우에는 비정적 메서드가 사용됩니다. 작업에는 인스턴스별 데이터 또는 동작이 포함됩니다. 이러한 차이점을 이해하면 Java 코드에서 OOP 원칙을 효과적으로 활용할 수 있습니다.

위 내용은 Java의 정적 메서드와 비정적 메서드의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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