-
JAVA 메소드back-end&DB/Java 2023. 5. 16. 18:01728x90
1. 메소드(Method)
public static void main(String[] args)
접근제한자(public), 보이드(공허 void ), 메인메소드 (스트링 배열에 args 변수)
1.1 메소드 리턴 타입
메소드의 수행결과를 어떤 자료형으로 반환할 것인지 알려 주는 것
아무것도 반환하지 않을 경우 - void(return문을 작성하지 않음)
결과값을 반환하는 경우 - return문을 사용
- 리턴타입에 맞는 자료형으로 반환하도록 해아함
메소드의 수행 결과를 어떤 자로형으로 반환 할 것인지 알려주는 것
리턴타입이 void의 경우 반환 받을 수 없음
public void methodTest(){ int a = 10; int b = 4; } public static void main(String[ ] args){ int test = methodtest(); }
1.2 메소드의 기본 구조
public static int addNum4(int num1, int num2) {// 매개변수 O,반환 데이터 O return num1 + num2; } public static int addNum3() {// 매개변수X 변환데이터O int num1 = 10; int num2 = 20; return num1 + num2; } public static void addNum2(int num1, int num2) {// 매개변수 O, 반환데이터 X 메소드 System.out.println(num1 + num2); } public static void addNum1() { // 매개변수 X, 반환타입 X 메소드 int num1 = 10; int num2 = 15; System.out.println(num1 + num2); }
* 주의사항!
return 키워드는 메소드를 종료하는 키워드!
return 코트 아래에는 코드를 작성 할 수 없음
public static int addNum3() {// 매개변수X 변환데이터O int num1 = 10; int num2 = 20; return num1 + num2; int num3 = 30; << 실행 불가 코드
- 큰수에서 작은 수 빼기
Scanner sc = new Scanner(System.in); System.out.print("첫 번째 정수 입력 : "); int num1 = sc.nextInt(); System.out.print("두 번째 정수 입력 : "); int num2 = sc.nextInt(); int result = getAbsoluteValue(num1, num2); System.out.println("결과 확인 : " + result);
public static int getAbsoluteValue(int num1, int num2) { if(num1 - num2 < 0) return (num1 - num2)*-1; return num1 - num2; }
- num2가 num1의 약수 일때 트루 출력!
int num1 = 10; int num2 = 2; boolean divisor = isDivisor(num1, num2); System.out.println(divisor); num1 = 9; num2 = 2; divisor = isDivisor(num1, num2); System.out.println(divisor);
public static boolean isDivisor(int num1, int num2) { if (num1 % num2 == 0) return true; return false; }
- 약수 구하기!!
// 약수 구하기! getDivsor(10); getDivsor(15); getDivsor(24);
public static void getDivsor(int num) { System.out.print(num + "의 약수 : "); for (int i = 1; i <= num/2; i++) if (num%i == 0) System.out.print(i + " "); System.out.println(num); }
- 약수의 합 구하기!!
int num = 10; int result = getSumOfDovosors(num); System.out.println(num + "의 약수의 합 : " + result); getDivsor(num);
public static int getSumOfDovosors(int num) { for (int i = 1, n = num; i <= n / 2; i++) if (n % i == 0) num += i; return num; }
- 완전수 구하기!!
int StartValue = 2; int endValue = 1000; getPerfectBumber(StartValue, endValue);
public static void getPerfectBumber(int num1, int num2) { System.out.print(num1 + " ~ " + num2 + "까지의 완전수 : "); for (int i = num1, sum = 0; i <= num2; i++, sum = 0) { for (int j = 1; j <= i / 2; j++) if (i % j == 0) sum += j; if (sum == i) System.out.print(sum + " "); } }
2. 메소드 오버로딩/ 오버라이딩
2.1 메소드 오버로딩
메소드의 중복
조건1. 메소드 이름이 같을것
조건2. 매개변수의 개수나 타입이 서로 달라야 됨
참고 리턴타입과 접근지정자는 관련 없음
2.2 메소드 오버라이딩
메소드의 재작성
메소드 이름, 매겨변수의 타입과 개수 리턴 타입이 모두 동일해야됨
728x90'back-end&DB > Java' 카테고리의 다른 글
JAVA 객체 지향 프로그래밍(OOP) (0) 2023.05.18 JAVA Array와 ArrayList (0) 2023.05.17 JAVA 2차원 배열 (0) 2023.05.15 JAVA 배열 (0) 2023.05.12 JAVA 다중 FOR문 (0) 2023.05.10