Java의 메소드
Java로 프로그래밍을 시작할 때 클래스, 메서드, 예외, 생성자, 변수 등 배워야 할 새로운 개념이 많이 있으며 압도적일 수 있다는 것을 알아야 합니다. 따라서 천천히 배우는 것이 가장 좋습니다. 이 문서에서는 다음을 수행합니다. 메소드 및 Java.
Java 메소드는 코드를 최적화하고 줄이는 것을 목적으로 하는 단일 블록에 일련의 연산을 포함하는 C 언어의 함수와 동일합니다. 이 메서드는 다른 메서드에서 호출할 수 있으며 호출되면 해당 메서드 내의 모든 메서드도 호출되고 실행됩니다. 예를 들어, System.out.println() 시스템은 콘솔에 메시지를 표시하기 위해 몇 가지 작업을 수행합니다.
이제 반환을 사용하거나 사용하지 않고 고유한 메서드를 만들고, 매개 변수를 사용하거나 사용하지 않고 메서드를 호출하고, 메서드에서 코드 추상화를 최적화하는 방법을 배우게 됩니다.
- 두 번째 키워드, static은 메서드가 클래스(개체)의 클래스 및 인스턴스에 속함을 의미합니다. static은 클래스 이름 "ExampleClass.ExampleMethod()"입니다. 그러나 키워드 static 이 없으므로 객체를 통해서만 메서드를 호출 할 수 있습니다. 클래스에 생성자(개체 생성용)가 있는 경우 ExampleObject obj = new ExampleObject()를 호출합니다. 을 호출하고 "obj입니다. ExampleMethod()를 호출합니다. ".
- int은 함수의 반환 형식이며, 이 경우 메서드는 처리가 수행된 후 정수 결과를 반환하는 함수로 선언됩니다. 결과를 반환하는 키워드는 return.
- int a, int b은 메서드 내에서 사용될 매개 변수 목록입니다. 예를 들어 a와 b를 추가하는 작업을 수행하고 결과를 명령문과 함께 출력으로 반환될 sum 변수에 넣으려고합니다. 반환 합계; .
Example:
다음은 두 숫자를 비교하여 최대값을 만드는 코드입니다. 이 함수는 nb1과 nb2라는 두 개의 매개 변수를 취하고 둘 다의 최대값을 반환합니다.
System.out.println() 은 void.
1- return이 실행됩니다(function).
2- 아무 것도 반환하지 않고 닫는 괄호에 도달합니다(프로시저).
이 예제와 같이 함수가 반환하는 것을 사용할 수 있습니다.
값으로 매개 변수를 전달한다는 것은 매개 변수를 사용하여 메서드를 호출하는 것을 의미합니다. 다음 프로그램에서는 값으로 전달하는 방법의 예를 보여 줍니다. 인수의 값은 메서드를 호출한 후에도 동일하게 유지됩니다.
두 정수 사이의 최대값을 결정하는 앞에서 본 예를 살펴보겠습니다. double 유형의 최대 수를 결정하고 싶다고 가정 해 봅시다. 오버로드의 개념은 이름은 같지만 매개변수가 다른 두 개 이상의 메서드를 만드는 데 도움이 됩니다.
Java 메소드는 코드를 최적화하고 줄이는 것을 목적으로 하는 단일 블록에 일련의 연산을 포함하는 C 언어의 함수와 동일합니다. 이 메서드는 다른 메서드에서 호출할 수 있으며 호출되면 해당 메서드 내의 모든 메서드도 호출되고 실행됩니다. 예를 들어, System.out.println() 시스템은 콘솔에 메시지를 표시하기 위해 몇 가지 작업을 수행합니다.
이제 반환을 사용하거나 사용하지 않고 고유한 메서드를 만들고, 매개 변수를 사용하거나 사용하지 않고 메서드를 호출하고, 메서드에서 코드 추상화를 최적화하는 방법을 배우게 됩니다.
메서드 만들기
의 구조를 이해하기 위해 다음 예제를 살펴보겠습니다. method:
public static int methodname(int a, int b) {
// 메소드 body
int sum = a + b;
반환 합계;
}
- 키워드 public은 메서드 자체가 호출 클래스를 가져오는 한 모든 블록, 다른 클래스 또는 다른 패키지에서 호출됩니다. public입니다. 이것들은 protected 및 private입니다. 메서드가 protected인 경우에만 이 클래스와 이 클래스에서 상속되는 하위 클래스가 메서드를 호출할 수 있습니다. 메서드가 private이면 메서드는 교실 내에서만 호출됩니다.
- 두 번째 키워드, static은 메서드가 클래스(개체)의 클래스 및 인스턴스에 속함을 의미합니다. static은 클래스 이름 "ExampleClass.ExampleMethod()"입니다. 그러나 키워드 static 이 없으므로 객체를 통해서만 메서드를 호출 할 수 있습니다. 클래스에 생성자(개체 생성용)가 있는 경우 ExampleObject obj = new ExampleObject()를 호출합니다. 을 호출하고 "obj입니다. ExampleMethod()를 호출합니다. ".
- int은 함수의 반환 형식이며, 이 경우 메서드는 처리가 수행된 후 정수 결과를 반환하는 함수로 선언됩니다. 결과를 반환하는 키워드는 return.
- int a, int b은 메서드 내에서 사용될 매개 변수 목록입니다. 예를 들어 a와 b를 추가하는 작업을 수행하고 결과를 명령문과 함께 출력으로 반환될 sum 변수에 넣으려고합니다. 반환 합계; .
Example:
다음은 두 숫자를 비교하여 최대값을 만드는 코드입니다. 이 함수는 nb1과 nb2라는 두 개의 매개 변수를 취하고 둘 다의 최대값을 반환합니다.
public static int max(int a, int b) {
int max;
if(a> b)
최대=a;
else
최대=b;
최대 반환;
}
void 키워드
void은 메서드를 호출할 때 메서드가 아무 것도 반환하지 않음을 나타냅니다. 메서드가 무언가를 반환하도록하려면 void 반환하려는 개체의 데이터 형식을 기준으로 합니다. 그런 다음 return과 object.
이 예제에서는 int n을 매개변수로 사용하고 1에서 n입니다. 이 메서드는 void 값을 반환하지 않습니다.
public class main {Runtime:
public static void main(String[] args) {
print(5);
}
public static void print(int n){
for(int i = 0; i < n; i++)
System.out.println(i);
}
}
0
1
2
3
4
메서드를 호출하는 방법
메서드를 사용하려면 메서드를 호출해야 합니다. 메서드가 호출되는 방법에는 두 가지가 있습니다. 메서드 호출 처리는 간단합니다. 프로그램이 메서드를 호출하면 제어 is 호출된 메서드로 전송됩니다. 메서드가 완료되면 다음 두 가지 조건으로 제어가 호출자에게 반환됩니다.1- return이 실행됩니다(function).
2- 아무 것도 반환하지 않고 닫는 괄호에 도달합니다(프로시저).
이 예제와 같이 함수가 반환하는 것을 사용할 수 있습니다.
public class main {Runtime:
public static void main(String[] args) {
int a, b;
a = 5;
b = 10;
int 결과 = sum(a, b);
System.out.println("a+b = "+result);
}
public static int sum(int a, int b){
return a+b;
}
}
a+b = 15
값으로 매개 변수 전달
전달되는 인수는 메서드에 선언된 매개 변수의 순서와 정확히 일치해야 합니다. 매개 변수는 값 또는 참조로 전달할 수 있습니다.값으로 매개 변수를 전달한다는 것은 매개 변수를 사용하여 메서드를 호출하는 것을 의미합니다. 다음 프로그램에서는 값으로 전달하는 방법의 예를 보여 줍니다. 인수의 값은 메서드를 호출한 후에도 동일하게 유지됩니다.
public class main {Runtime:
public static void main(String[] args) {
int a = 30;
정수 b = 45;
System.out.println("스왑 전(메인), a = " + a
+ " b = " + b);
//permute()
permute(a, b) 메서드를 호출합니다.
System.out.println("스왑 후 (main), a = " + a
+ " b = " + b);
}
public static void permuter(int a, int b) {
System.out.println("순열 전(메서드), a = " + a
+ " b = " + b);
// a를 b
int c = a;
a = b;
b = c;
System.out.println("스왑 (메서드) 후 a = " + a
+ " b = " + b);
}
}
스왑 전(main), a = 30 b = 45
스왑 전(방법), a = 30 b = 45
스왑(방법) 후, a = 45 b = 30
스왑(손) 후, a = 30 b = 45
java의 메소드 오버로드
클래스에 이름은 같지만 매개변수가 다른 두 개 이상의 메소드가 포함되어 있는 경우 이를 메소드 오버로딩이라고 합니다. 메서드의 이름, 유형, 매개 변수 수 등이 동일한 경우 재정의하는 것과는 다릅니다.두 정수 사이의 최대값을 결정하는 앞에서 본 예를 살펴보겠습니다. double 유형의 최대 수를 결정하고 싶다고 가정 해 봅시다. 오버로드의 개념은 이름은 같지만 매개변수가 다른 두 개 이상의 메서드를 만드는 데 도움이 됩니다.
public class main {Runtime:
public static void main(String[] args) {
int a, b;
a = 7;
b = 8;
System.out.println("최대("+a+", "+ b+") = "+최대(a, b));
더블 x,y;
x=1.5;
y=4.2;
System.out.println("최대("+x+", "+ y+") = "+최대(x, y));
}
공개 정적 int max(int a, int b) {
int 최대;
if(a> b)
최대=a;
else
최대=b;
최대 반환;
}
public static double max(double a, double b) {
double max;
if(a> b)
최대=a;
else
최대=b;
최대 반환;
}
}
max(7, 8) = 8메서드 오버로드는 프로그램을 적응할 수 있도록 합니다. 여기서 두 메서드의 이름은 같지만 매개변수가 다릅니다. integer 및 double 형식의 최대 개수는 result.
max(1.5, 4.2) = 4.2