ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA 메소드
    back-end&DB/Java 2023. 5. 16. 18:01
    728x90

    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
Designed by Tistory.