메소드란?
특정 기능을 정의한 코드들의 집합
Why?
가독성 - 비슷한 성격의 코드를 모음
재사용성 - 반복되는 코드를 모음
How?
public static 리턴타입 메소드명(파라미터) {
코드
return 리턴데이터;
}
다음과 같이 선언하며 호출은 메소드명(); 으로 호출한다!!
코드로 보면
public class Method {
public static void main(String[] args) { //String[]은 문자열 배열 args는 자바가 실행될때 들어오는 값이다. args를 환경변수 설정을 통해 줄수 있음
//System.out.println(Math.floor(1.1)); //printIn도 출력해주는 메소드이다!!
printTwoTimes("123"); //printTwoTimes는 메소드이다!
// printTwoTimes("123");
System.out.println(one()); //one메소드의리턴값은 1이다!!
} //이것도 main이라는 이름을 가진 메소드이다!!
public static void printTwoTimes(String text){ //printTwoTimes라는 이름의 메소드이다! 인자(파라미터로) String을 받는다
System.out.println(text);
System.out.println(text);
}
public static int one(){
return 1;
}
} //자바파일을 만들때는 클래스를 만들고 약속된(실행하는)main이라는 메소드를 만들어야 실행이된다(메인메소드)
// 자바는 클래스 실행시 main메소드를 실행하도록 약속되어있다.
주석 쳐진 것과 같이 printIn도 출력해주는 메소드이며 printTwoTimes도 아래에서 만든 메소드이다!!
public static int one(){
return 1;
}
해당 코드를 보게되면 메소드 명은 one이고 리턴값이 int이기 때문에 return 1(int)를 해준다!!
public class Method {
public static void main(String[] args) { //String[]은 문자열 배열 args는 자바가 실행될때 들어오는 값이다. args를 환경변수 설정을 통해 줄수 있음
//System.out.println(Math.floor(1.1)); //printIn도 출력해주는 메소드이다!!
printTwoTimes("123"); //printTwoTimes는 메소드이다!
// printTwoTimes("123");
System.out.println(one()); //one메소드의리턴값은 1이다!!
} //이것도 main이라는 이름을 가진 메소드이다!!
main 메소드에서 one() 이라는 메소드를 호출했기 때문에 값이 1이 출력이 된다!!
여기서 main메소드는 자바파일을 만들때는 클래스를 만들고 약속된(실행하는)main 메소드를 만들어야
실행이 가능하다 즉, 자바는 클래스 실행 시 main메소드를 실행하도록 약속이 되있는것이다!!
메소드 오버로딩이란?
오버로딩 : 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술
public class Method {
public static void main(String[] args) { //String[]은 문자열 배열 args는 자바가 실행될때 들어오는 값이다. args를 환경변수 설정을 통해 줄수 있음
System.out.println(one(1,2));
System.out.println(one("1","2"));
}
public static int one(int a,int b){
return a+b;
}
public static String one(String a,String b){
return a+b;
}
다음과 같이 실행하였을때 3 과 12가 나오게된다!!!
두 메소드의 이름이 one으로 같음에도 불구하고 주는 파라미터값에 따라 맞는 메소드로 알아서 찾아가서 값이 나오게 된다!!
이처럼 같은 메소드 이름이 같지만 파라미터의 형태와 숫자를 다르게 해 값이 다르게 나오게 하는 기술이다!!
'IT 관련 > JAVA' 카테고리의 다른 글
자바의 static이란? (0) | 2022.03.25 |
---|---|
자바 public ,protected , default, private (0) | 2022.03.25 |
HashSet , HashMap , HashMap<String, HashSet<String>>, 이중 map 사용 (0) | 2022.03.17 |
[Ljava.lang.String 자바 배열(Array)를 String으로 출력하기 (0) | 2022.03.17 |
자바 배열(array) (0) | 2021.01.23 |