본문 바로가기
Java/문법

Java 함수 만들기

by ssury94 2024. 12. 9.
 
 
 
// 3과 5를 더하자.
int num1 = 3;
int num2 = 5;
System.out.println(num1 + num2);
// 7과 10을 더하자.
num1 = 7;
num2 = 10;
System.out.println(num1+num2);
// 10과 6을 더하자.
num1 = 10;
num2 = 6;
System.out.println(num1+num2);

       // 프로그래밍 하다보니 중복되는 코드 == 재사용되는 코드가 발생하더라
        // 효율적으로 처리하기위해 만든게 함수다!

        // 지금까지는 함수를 사용만 해봤다 = 함수를 호출(call) 했다 = 남이 만든것을 이용
        // 함수 호출은 1줄만 필요
        // 어떤 복잡한 기능이라도 함수로 만들어져있으면 1줄만 코드작성하면 된다.

 


    // 두 정수를 더하는 함수를 만들자

 

메인함수 안에 X

클래스 안에 O

// 1. 함수 이름 작성

add(3,4);

// 2. 함수의 파라미터(parameters)를 만든다.

함수의 파라미터

int num1, int num2

 

// ===> 함수의 호출을 먼저 적는다.
// 예시 - add(3,4);

// 3. 호출 상황을 가정하여 코드를 작성

int add(int num1, int num2){
    int total = num1 + num2;

 

// 4. return 작성한 코드 입력, 데이터타입을 함수 시작부분에 입력

int add(int num1, int num2){
    int total = num1 + num2;
    return total;
}

 

 

만든 함수를 func.add()로 불러오면 사용가능합니다.

System.out.println(func.add(7,10));

 

 


main() 부분에 static 입력 < Why?

public static void main(String[] args) {

 

 

 

main()에 아래 코드 입력 < Why?

FuncTest func = new FuncTest();

 >> FuncTest타입의 새 객체를 생성하라는 연산자!

그 참조를 func 변수에 할당함

각 객체는 고유한 메모리 공간을 가지게 되어 동일한 값을 가진 객체라도 서로 다른 인스턴스로 취급됨.

 

 


 

// 학점 func.getGrade(100); => "A학점"
// 90점 이상 "A학점", 80점 이상 90미만 "B학점", 나머지는 "C학점"
String getGrade(int score) {
    if (score >= 90) {
        return "A학점";
    } else if (score >= 80 && score < 90) {
        return "B학점";
    } else {
        return "C학점";
    }
}


문자열이 반환되는 함수를 만들수도 있습니다.

자바에서의 AND = &&

 

 

// 홀수 짝수 구분하는 함수
// func.isEven(); > 짝수면 true, 홀수면 false
boolean isEven(int score2){
    if(score2 % 2 == 0){
        return true;
    } else {
        return false;
    }
}

 

 

// 이름과 나이를 넣으면, "제 이름은 홍길동입니다. 30살 입니다."로 화면 출력하는 함수
// func.sayHello("홍길동","30");
String sayHello(String name,int age){
    return ("제 이름은 "+name+"입니다. "+age+"살 입니다.");
}