~ 안에 자바 , 방법 특정 작업이나 작업을 수행하는 명령문 모음입니다. 한 번 작성하면 여러 번 사용할 수 있다는 의미로 코드의 재사용성을 제공하기 때문에 널리 사용됩니다. 또한 쉬운 수정도 제공합니다. 각 방법 그것은 자신만의 이름을 갖고 있다. ~라고 불리는 . 컴파일러가 메서드 이름을 읽으면 해당 메서드가 호출되어 지정된 작업을 수행합니다. 이 섹션에서는 다음 내용을 학습합니다. 사전 정의, 사용자 정의, 정적 호출 방법 그리고 추상적인 자바의 메소드 .
Java에서 정적 메소드 호출
~ 안에 자바 에서 정적 메서드는 해당 메서드가 정의된 클래스의 객체를 생성하지 않고 호출되거나 호출되는 메서드입니다. 메소드 이름 앞에 static 키워드가 있는 모든 메소드는 다음과 같습니다. 정적 메소드 . 다음을 사용하여 정적 메서드를 만들 수도 있습니다. 공전 메소드 이름 앞에 키워드를 입력하세요. 다음을 사용하여 정적 메서드를 호출할 수 있습니다. 클래스 이름.메서드 이름 .
정적 메소드의 가장 좋은 예는 다음과 같습니다. 기본() 방법. 객체를 생성하지 않고 호출됩니다.
문자열을 문자로 자바
다음 프로그램에서는 두 숫자의 최소값을 반환하는 min()이라는 Math 클래스의 정적 메서드를 호출했습니다.
StaticMethodCallExample.java
import java.util.*; public class StaticMethodCallExample { public static void main(String args[]) { int a; //calling static method of the Math class a=Math.min(23,98); System.out.println('Minimum number is: ' + a); } }
산출:
Minimum number is 23
Java에서 미리 정의된 메소드 호출
Java에서 사전 정의된 메소드는 클래스에 이미 정의된 메소드입니다. 미리 정의된 메소드가 필요한 경우 이름으로 메소드를 호출하면 됩니다.
다음 예에서는 다음과 같은 메서드를 사용했습니다. 해시 코드() 수업의 물체 . 미리 정의된 메서드를 호출하려면 해시 코드() , 우리는 객체를 생성했습니다 객체 Object 클래스의 메서드이기 때문입니다. 우리가 호출한 객체를 사용함으로써 해시 코드() 반환하는 메서드 해시 코드 개체에 대한 값입니다.
사전 정의된MethodCallExample.java
public class PredefinedMethodCallExample { public static void main(String[] args) { int a; Object obj=new Object(); a=obj.hashCode(); System.out.println('Hash Code of the object is: '+a); } }
산출:
Hash Code of the object is: 2036368507
Java에서 사용자 정의 메소드 호출
사용자 정의 메서드를 호출하려면 먼저 메서드를 만든 다음 호출합니다. 메소드 이름 뒤에 괄호()를 붙여서 클래스에 메소드를 작성해야 합니다. 메소드 정의는 메소드 헤더와 메소드 본문으로 구성됩니다.
다음을 사용하여 메소드를 호출할 수 있습니다.
method_name(); //non static method calling
메소드가 정적 메소드인 경우 다음을 사용합니다.
obj.method_name(); //static method calling
여기서 obj는 클래스의 객체입니다.
다음 예에서는 다음과 같은 두 개의 사용자 정의 메서드를 만들었습니다. 쇼메시지() 그리고 디스플레이메시지() . 그만큼 쇼메시지() 메소드는 정적 메소드이고 디스플레이메시지() 메소드는 비정적 메소드입니다.
우리가 쇼메시지() 객체를 사용하지 않고 직접 메서드를 사용합니다. 동안 디스플레이메시지() 메소드는 클래스의 객체를 사용하여 호출됩니다.
MethodCallExample.java
public class MethodCallExample { //user-defined static method static void showMessage() { System.out.println('The static method invoked.'); } //user-defined non-static method void displayMessage() { System.out.println('Non-static method invoked.'); } public static void main(String[] args) { //calling static method without using the object showMessage(); //called method //creating an object of the class MethodCallExample me=new MethodCallExample(); //calling non-static method me.displayMessage(); //called method } }
산출:
네트워크 및 네트워크 유형
The static method invoked. Non-static method invoked.
클래스에는 동일한 이름을 가진 두 개 이상의 메서드가 포함될 수 있습니다. 이제 동일한 이름을 가진 두 메서드를 어떻게 호출할 수 있는지에 대한 질문이 생깁니다.
클래스에 동일한 이름을 가진 두 개 이상의 메서드가 있는 경우 다음 중 하나로 구분됩니다. 반환 유형 또는 매개변수 유형 또는 매개변수의 수 . 이 개념은 메소드 오버로딩 . 예를 들어:
int sum(int x, int y); double sum(double x, double y);
위의 두 메소드는 이름이 동일합니다. 합집합() 하지만 둘 다 다릅니다. 첫 번째 sum() 메서드는 int 값을 반환하고 두 개의 정수 x와 y를 매개변수로 구문 분석합니다. 두 번째 sum() 메서드는 double 값을 반환하고 두 개의 double 값 a와 y를 매개변수로 구문 분석합니다.
과부하가 걸리는 프로그램을 만들어보자 보결() 방법.
MethodOverloadingExample.java
public class MethodOverloadingExample { static int sub(int x, int y) { return x - y; } static double sub(double x, double y) { return x - y; } public static void main(String[] args) { int a = sub(45, 23); double b = sub(23.67,10.5); System.out.println('subtraction of integer values: ' +a); System.out.println('subtraction of double values: ' +b); } }
산출:
subtraction of integer values: 22 subtraction of double values: 13.170000000000002
Java에서 추상 메소드 호출
추상 메서드는 다음과 같이 선언된 메서드입니다. 추상적인 예어. 추상 메소드에는 메소드 선언만 있습니다. 다른 클래스에 정의된 추상 메서드의 본문입니다. 추상 메서드는 추상 수업 . 추상 메소드의 가시성을 비공개 또는 공개로 설정할 수 있습니다. 추상 메소드의 장점을 위반하기 때문에 추상 메소드를 final로 선언할 수 없습니다.
추상 메서드의 실제 구현은 자식 클래스에 있어야 합니다. 추상 메서드를 다음과 같이 정의할 수 있습니다.
오프셋 높이
abstract public void findArea();
추상 메서드를 호출하는 예를 만들어 보겠습니다.
다음 예에서는 다음과 같은 이름의 클래스를 만들었습니다. 추상방법예 그리고 그것을 abstract로 선언합니다. 이 클래스에서는 다음과 같은 추상 메서드를 선언했습니다. 보여주다() . 그 후, 우리는 이름이 다른 클래스를 만들었습니다. 추상메소드호출 그 확장 추상방법예 수업. 이번 클래스에서는 추상 메소드를 구현했습니다.
추상 메소드 show()를 호출하기 위해 상위 클래스의 인스턴스를 생성하고 추상 메소드를 호출했습니다.
AbstractMethodCalling.java
//abstract class abstract class AbstractMethodExample { //abstract method declaration abstract void show(); } public class AbstractMethodCalling extends AbstractMethodExample { //abstract method implementation void show() { System.out.println('The abstract method called.'); } public static void main(String args[]) { AbstractMethodExample obj = new AbstractMethodCalling(); //calling abstract method obj.show(); } }
산출:
The abstract method called.