자바의 방법
일반적으로 메서드는 작업을 수행하는 메서드입니다.
. 또한 자바메서드는 특정 작업을 수행하는 명령 모음입니다.
. 코드 재사용성 제공. 메서드를 사용하여 코드를 변경할 수도 있습니다.
. 이 섹션의 자바방법은 무엇입니까, 방법의 종류, 메소드 선언, 방법 자바어떻게 부르는지 알아보자.
Java에서 메서드란 무엇입니까?
메서드는 특정 동작이나 작업을 수행하기 위해 함께 그룹화된 코드 블록 또는 일련의 지침 또는 코드입니다.
. 코드 재사용성을 달성하는 데 사용됩니다.
. 메소드를 한 번 작성하고 여러 번 사용합니다.
. 코드를 반복해서 작성할 필요가 없습니다.
. 또한 단순히 코드 블록을 추가하거나 제거하여 코드를 쉽게 수정하고 읽을 수 있습니다.
. 메서드는 호출되거나 호출될 때만 실행됩니다.
.
메소드 선언
메서드 선언 가시성, 반환 유형, 이름 및 인수와 같은 메서드 속성에 대한 정보를 제공합니다.
. 다음 이미지와 같이 메서드 헤더라고 합니다.
62개의 구성 요소가 있습니다.
.
메소드 서명
모든 메소드에는 메소드 서명이 있습니다.
. 이것은 메소드 선언의 일부입니다.
. 메서드 이름과 매개변수 목록을 포함합니다.
.
액세스 식별자
액세스 식별자 또는 수정자는 메서드의 액세스 유형입니다.
. 메서드의 가시성을 나타냅니다.
. 자바네 가지 유형의 액세스 식별자를 제공합니다.
.
공공의
이 메서드는 애플리케이션의 공용 식별자를 사용하여 모든 클래스에서 액세스할 수 있습니다.
.
사적인
개인 액세스 지정자를 사용하는 경우 메소드는 정의된 클래스에서만 액세스할 수 있습니다.
.
보호
보호된 액세스 지정자는 동일한 패키지 내 또는 다른 패키지의 하위 클래스 내에서 메서드에 대한 액세스를 허용합니다.
.
기본
메서드 선언에 액세스 지정자를 사용하지 않는 경우 자바기본적으로 기본 액세스 식별자를 사용합니다.
. 같은 패키지에서만 볼 수 있습니다.
.
반환 유형
반환 유형은 메서드가 반환한 데이터 유형입니다.
. 원시 데이터 유형, 개별적으로, 수집, 캐비티 등을 할 수 있습니다.
. 메서드가 아무 것도 반환하지 않는 경우 비어 있는 키워드를 사용.
메서드 이름
메서드의 이름을 정의하는 데 사용되는 고유한 이름입니다.
. 메서드의 기능과 일치해야 합니다.
. 두 수를 빼는 방법을 만들면 방법 이름은 뺄셈()해야한다. 메서드는 이름으로 호출됩니다.
.
매개변수 목록
쉼표로 구분되고 괄호 쌍으로 묶인 매개변수 목록입니다.
. 여기에는 데이터 유형 및 변수 이름이 포함됩니다.
. 메서드에 매개 변수가 없으면 괄호를 비워 둡니다.
.
메서드 본문
이것은 메소드 선언의 일부입니다.
. 여기에는 수행해야 하는 모든 작업이 포함됩니다.
.
메서드 이름 지정
메서드를 정의할 때 메서드 이름은 동사여야 하며 소문자로 시작해야 합니다.
. 메서드 이름이 둘 이상의 단어로 구성된 경우 이름 뒤에 동사와 형용사 또는 명사가 와야 합니다.
. 여러 단어로 된 메서드 이름의 경우 첫 단어를 제외한 각 단어의 첫 글자는 대문자여야 합니다.
. 예를 들어:.
한 단어 방법 이름: 합계(), 면적()보지 못하다.
여러 단어로 된 메서드 이름: areaOfCircle(), stringComparison()보지 못하다.
메소드는 동일한 클래스의 다른 메소드와 동일한 이름을 가질 수 있습니다.
. 이를 메서드 오버로딩이라고 합니다.
.
방법의 종류
자바두 종류의 방법이 있습니다.
– 미리 정의된 방법입니다.
.
– 커스텀 방식입니다.
.
미리 정의된 방법
자바의 미리 정의된 메소드 자바 클래스 라이브러리에 이미 정의된 메서드를 미리 정의된 메서드라고 합니다.
. 표준 라이브러리 메서드 또는 내장 메서드라고도 함. 프로그램에서 호출하기만 하면 이러한 메서드를 직접 사용할 수 있습니다.
. 미리 정의된 방식으로 길이(), equals(), CompareTo(), sqrt() 등.. 프로그램이 미리 정의된 메서드를 호출하면 이미 라이브러리에 저장된 해당 메서드와 관련된 코드 집합이 백그라운드에서 실행됩니다.
.
미리 정의된 각 메서드는 클래스 내에서 정의됩니다.
.
미리 정의된 메서드의 예를 살펴보겠습니다.
.
public class Demo
{
public static void main(String() args)
{
// using the max() method of Math class
System.out.print("The maximum number is: " + Math.max(9,7));
}
}
위의 예에는 미리 정의된 세 가지 메서드가 있습니다.
메인(), 프린트(), 맥스()나는 사용한다. 이러한 메서드는 미리 정의되어 있으므로 선언하지 않고 직접 사용했습니다.
. 누르다() 메서드는 결과를 콘솔에 출력합니다.
PrintStream 클래스의 메서드입니다.
최대() 메서드는 두 숫자 중 더 큰 숫자를 반환합니다.
수학 클래스의 메서드입니다.
또한 https://docs.oracle.com/ 링크를 통해 미리 정의된 메서드의 메서드 서명을 볼 수 있습니다.
. 링크를 통해 최대() 메서드 서명을 확인하면 다음이 표시됩니다.
.
메서드 서명의 위 메서드 서명에서 public, 접근 불가능 한정자 static, 반환 유형 int, 메서드 이름 max(), 매개변수 목록(인타, 인테브)있다고 보시면 됩니다. 위의 예에서 메서드를 정의하는 대신 메서드를 호출했습니다.
. 이것은 미리 정의된 방법의 장점입니다.
. 프로그래밍이 덜 복잡해집니다.
.
또한 누르다() 메서드의 메서드 서명도 볼 수 있습니다.
.
맞춤 방법
사용자나 프로그래머가 작성한 메소드를 사용자 정의 메소드라고 합니다.
. 이 방법은 요구 사항에 따라 수정됩니다.
.
숫자가 짝수인지 홀수인지 확인하는 사용자 지정 방법을 만들어 봅시다.
. 먼저 방법을 정의합시다.
//user defined method
public static void findEvenOdd(int num)
{
//method body
if(num%2==0)
System.out.println(num+" is even");
else
System.out.println(num+" is odd");
}
위에 짝수 찾기()라는 메서드를 정의했습니다.
. 모양 내부의 매개변수 번호를 가집니다.
. 이 메서드는 값을 반환하지 않기 때문에 비어 있는나는 사용한다. 메서드 본문에는 숫자가 짝수인지 홀수인지 확인하는 단계가 포함됩니다.
. 짝수이면 짝수로 출력됩니다.
, 그렇지 않으면 홀수가 인쇄됩니다.
.
메서드를 정의한 후 호출해야 합니다.
. 프로그램에서 메서드 호출이 쉽습니다.
. 사용자 정의 메서드를 호출하거나 호출하면 프로그램 제어가 호출된 메서드로 전송됩니다.
.
import java.util.Scanner;
public class EvenOdd
{
public static void main (String args())
{
//creating Scanner class object
Scanner scan=new Scanner(System.in);
System.out.print("Enter the number: ");
//reading value from the user
int num=scan.nextInt();
//method calling
findEvenOdd(num);
}
}
위의 코드 스니펫에서 컴파일러는 라인 findEvenOdd(숫자)도달하면 제어가 메소드로 전달되고 적절한 출력을 제공합니다.
두 개의 코드 스니펫을 하나의 프로그램으로 결합하고 실행해 보겠습니다.
.
import java.util.Scanner;
public class EvenOdd
{
public static void main (String args())
{
//creating Scanner class object
Scanner scan=new Scanner(System.in);
System.out.print("Enter the number: ");
//reading value from user
int num=scan.nextInt();
//method calling
findEvenOdd(num);
}
//user defined method
public static void findEvenOdd(int num)
{
//method body
if(num%2==0)
System.out.println(num+" is even");
else
System.out.println(num+" is odd");
}
}
호출 메서드에 값을 반환하는 다른 프로그램을 살펴보겠습니다.
.
다음 프로그램에서 두 숫자의 합 에 추가()라는 메서드를 정의했습니다.
. 정수 유형의 두 매개변수 n1수업 n2가지다. n1수업 n2각각의 가치 ㅏ그리고 비의 값에 해당. 그래서 이 방법은 ㅏ그리고 비의 값을 더하고 변수에 저장하고 합계를 반환합니다.
.
public class Addition
{
public static void main(String() args)
{
int a = 19;
int b = 5;
//method calling
int c = add(a, b); //a and b are actual parameters
System.out.println("The sum of a and b is= " + c);
}
//user defined method
public static int add(int n1, int n2)
//n1 and n2 are formal parameters
{
int s;
s=n1+n2;
return s; //returning the sum
}
}
정적 방법
공전 키워드가 있는 메서드 공전 수단 방법. 다시 말해서, 클래스에 속하고 클래스의 인스턴스가 아닌 메서드를 정적 메서드라고 합니다.
. 메서드 이름 앞에 공전 키워드를 사용하여 정적 메서드를 만들 수도 있습니다.
.
정적 메서드의 주요 이점은 개체를 만들지 않고 호출할 수 있다는 것입니다.
. 정적 데이터 멤버에 액세스하고 해당 값을 변경할 수 있습니다.
. 인스턴스 메서드 생성에 사용. 클래스 이름으로 호출. 정적 메서드의 가장 좋은 예는 다음과 같습니다.
() 방법입니다.
public class Display
{
public static void main(String() args)
{
show();
}
static void show()
{
System.out.println("It is an example of static method.");
}
}
인스턴스 방식
클래스의 메서드를 인스턴스 메서드라고 합니다.
. 클래스에 정의된 비정적 메서드. 인스턴스 메소드를 호출하거나 호출하기 전에 클래스의 객체를 생성해야 합니다.
. 예(예) 예시 방법을 살펴보자.
public class InstanceMethodExample
{
public static void main(String () args)
{
//Creating an object of the class
InstanceMethodExample obj = new InstanceMethodExample();
//invoking instance method
System.out.println("The sum is: "+obj.add(12, 13));
}
int s;
//user-defined method because we have not used static keyword
public int add(int a, int b)
{
s = a+b;
//returning the sum
return s;
}
}
두 가지 유형의 인스턴스 메서드가 있습니다.
.
– 접근 방식입니다.
.
– 뮤테이터 방식.
액세스 방법
인스턴스 변수를 읽는 메서드를 접근자라고 합니다.
. 방법에 받다단어는 접두사이므로 쉽게 식별할 수 있습니다.
. 게터라고도 합니다.
. 비공개 필드의 값을 반환합니다.
. 비공개 필드의 값을 가져오는 데 사용됨.
public int getId()
{
return Id;
}
돌연변이 유발 방법
메서드는 인스턴스 변수를 읽고 해당 값을 변경합니다.
. 메서드는 쉽게 식별할 수 있도록 일련의 단어가 접두사로 붙습니다.
. setter 또는 modifier라고도 합니다.
. 대가로 아무것도 없다. 필드에 의존하는 동일한 데이터 유형의 매개변수 허용. 비공개 필드의 값을 설정하는 데 사용.
public void setRoll(int roll)
{
this.roll = roll;
}
public class Student
{
private int roll;
private String name;
public int getRoll() //accessor method
{
return roll;
}
public void setRoll(int roll) //mutator method
{
this.roll = roll;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public void display()
{
System.out.println("Roll no.: "+roll);
System.out.println("Student name: "+name);
}
}
추상 메서드
메서드 본문이 없는 메서드를 추상 메서드라고 합니다.
. 다시 말해서, 구현이 없는 메서드를 추상 메서드라고 합니다.
. 항상 추상 클래스에서 선언. 추상 메서드가 있다면 클래스 자체가 추상이어야 한다는 뜻입니다.
. 추상적인 방법을 만들기 위해 우리는 추상적인키워드를 사용.
abstract void method_name();
abstract class Demo //abstract class
{
//abstract method declaration
abstract void display();
}
public class MyClass extends Demo
{
//method impelmentation
void display()
{
System.out.println("Abstract method?");
}
public static void main(String args())
{
//creating object of abstract class
Demo obj = new MyClass();
//invoking abstract method
obj.display();
}
}
공장 방법
이 메서드는 객체가 속한 클래스에 객체를 반환합니다.
. 모든 정적 메소드는 팩토리 메소드입니다.
.
예: NumberFormat obj = NumberFormat.getNumberInstance(); 보지마.