기초 뽀개기 - 메소드

Clean Code Big Poo·2025년 4월 20일
0

Java

목록 보기
7/15
post-thumbnail

Overview

자바 무료강의 2시간 완성을 시청하고 간략히 정리

메소드

특정 기능을 수행하기 위한 코드 묶음

정의 방법

접근제어자 반환형 메소드명(전달값){
	명령문;
    명령문;
    ...
}

예시

public class Main {
    public static void main(String[] args) {
        print(); // 메소드 호출

    }
    
    // 메소드 정의
    public static void print(){
        System.out.println("안녕!");
    }
}

전달값

parameter
메소드를 전달할 때 전달하는 값
두 개 이상 여러개를 보낼 수 있다.

예시

public class Main {
    public static void main(String[] args) {
        print("자두"); // "자두" 전달

    }

    public static void print(String name){// parameter
        System.out.println(name+", 안녕!"); // "자두, 안녕!" 이 출력됨
    }
}

반환값

return 키워드를 사용하며 메소드의 실행 결과를 돌려준다.

접근제어자 반환형 메소드명(){
	명령문
    명령문
    return 반환값;//반환형이 void 가 아니라면, return 으로 반환값을 돌려줘야 함.
}

예시

public class Main {
    public static void main(String[] args) {
        int num = getMaxNum();
        System.out.println("num = "+num);

    }

    public static int getMaxNum(){
        return 54; // 반환 값
    }
}

전달값과 반환값

접근제어자 반환형 메소드명(전달값){
	명령문
    명령문
    return 반환값;
}

예시

public class Main {
    public static void main(String[] args) {
        int num = add(10,12);
        System.out.println("num = "+num);

    }

	/// 반환형(반환값)과 전달값이 있는 메소드
    public static int add(int a, int b){
        return  a+b;
    }
}    

메소드 오버로딩

같은 메소드 이름, 다른 매개변수(전달값)를 가짐

접근제어자 반환형 메소드명(정수 전달값){}
접근제어자 반환형 메소드명(정수 전달값1, 정수 전달값){}
접근제어자 반환형 메소드명(실수 전달값){}
... 

예시

public class Main {
    public static void main(String[] args) {
        int num = add(10,12);
        int num2 = add(10,12, 22);
        double num3 = add(10.1,12.2);
        
        System.out.println("num = "+num);
        System.out.println("num2 = "+num2);
        System.out.println("num3 = "+num3);
    }

    public static int add(int a, int b){
        return  a+b;
    }

    public static int add(int a, int b, int c){
        return  a+b+c;
    }

    public static float add(float a, float b){
        return  a+b;
    }
}    

변수의 범위(Scope)

변수를 쓸 수 있는 영역
변수가 유효한 영역
변수 선언 후, 가장 가까운 블록 내라고 생각하면 편함.

예시 1

public class Main {
    public static void main(String[] args) {
        int a = 10;
    }
    
    public  static void scope(){
        System.out.println("a = "+a); // 사용 불가
    }
}    

예시 2

public class Main {
    public static void main(String[] args) {
        System.out.println("a = "+a); // 사용 불가
    }
    
    public  static void scope(){
    	int a = 10;
        System.out.println("a = "+a); 
    }
}    

예시 3

public class Main {
    public static void main(String[] args) {
        int a = 10;
        if(a > 5){
            int d = 40;
            System.out.println("d = "+d);
        }
        System.out.println("d = "+d); // 사용 불가
    }  

0개의 댓글