メソッド
方法
// 메소드(언어에 따라 함수, 기능...) 존재의 의의 : 코드의 재사용
// 1. static 메소드, 클래스 메소드
// public static <자료형>, (void)<메소드명>(매개변수, 인자, 파라미터){실행문;}
// 실행은 메소드명();
// 메소드명 = 명명규칙을 그대로 따른다(첫글자는 소문자)
// void - return 값의 자료형이 존재하지 않을 경우 자료형자리는 void로
// 모든 메소드의 끝에는 return. 리턴값이 없는 리턴은 생략가능(!=없는것). void 는 생략되서 생략.
// 명시적으로 return 적어야하는 경우:
// 메소드명 중복불가 but 변수는 선언 위치에 따라가능
class Ex01{
/* 아래 함수 01 선언되어있어 중복불가
public static void func01(){
System.out.println("");
}
*/
// 메서드 오버로드 - 메소드의 인자 타입, 유무, 개수에 따라 원칙적으로 중복이 불가하나 허용하는것
// but 가능한 경우있음- main에서 인자 넣고 호출하면 있는거 메소드 호출. 없으면 아래 func01 호출
public static void func01(int a){
System.out.println("매개변수 전달받음" +a);
}
public static int func01(){
System.out.println("새롭게 만들어낸 기능1");
return 100;
}
public static void func02(int a){
System.out.println("새로운기능2 - " + a);
return;
}
/* 변수 범위에서 위에서 이미 끝났으므로 a사용가능
public static void func03(int b, int a){
System.out.println("새로운기능3 - " + (b+a));
return;
}
*/
public static void func03(int b, int c){
System.out.println("새로운기능3 - " + (b+c));
return;
}
public static int func04(){
int x=100;
int y=20;
int z=x+y; // 함수 안에서만 유효했기 때문에 main 함수 호출 안된것.. 전달방법은 아래
return z; // return값을 기준으로 자료형이 void 대신 들어감<public static int func04()>
}
public static void main(String[] args){
// 자바는 클래스로 구성, 하나의 클래스가 하나의 단위 요소
System.out.println("기존 코드작업 0");
// main에서 다른 메소드 반드시 호출, 실행은 메소드명();
// 여러번 불러도 얼마든지 재사용 가능
// 실행은 메소드명();
func01();
func01(33333); // 오버로딩
func02('A');
func02(1234);
func02(5554);
func03(2,100);
// 리턴값을 받아 소환!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
int t=func04();
System.out.println(t);
// 명시적으로 리턴 필요할때
//if(t>0){return;}
return;
// main 의 기존 작업 사이에 메소드 불러오면 불러온뒤 원래 기존 작업 진행
//System.out.println("기존코드 계속 0-1");
//return;
}
} //Ex01 class End
Reference
この問題について(メソッド), 我々は、より多くの情報をここで見つけました https://velog.io/@finelinefe/메소드-오버로드-클래스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol