24_객체지향문법-메소드 선언 방법, UML 표기법 익히기

Jiyoon.lee·2024년 3월 14일
0

Java_inflearn

목록 보기
24/25

1. 메소드 선언

[접근제한자] [static] 리턴type 메소드이름([매개변수, ......]) {
	실행문
}
  • 매개변수는 메소드에 전달하는 값이고, 반환 값은 메소드가 외부로 반환하는 값을 의미한다.

1) 매개변수: X, 반환값: X

메소드1 -> public void method1() {
			  ......
          }
  • 매개변수도 받지 않고, 리턴도 안 하는 메소드 정의
  • public 다음의 void는 리턴하지 않는다는 의미이고, 괄호 안에 아무것도 없으면 매개변수를 받지 않는다는 의미
  • 코드 블록 안에는 원하는 실행문들을 여러 줄 작성할 수 있음

2) 매개변수: O, 반환값: X

메소드2 -> public void method2(int x) {
			  ......
          }
  • 매개변수는 있지만, 값을 리턴하자 않는 메소드 정의

3) 매개변수: X, 반환값: O

메소드3 -> public int method3() {
			  ......
          }
  • 매개변수는 없고, 정수를 리턴하는 메소드 정의

4) 매개변수: 2개, 반환값: X

메소드4 -> public void method4(int x, int y) {
			  ......
          }
  • 정수 값 2개를 매개변수로 받고, 리턴은 하지 않는 메소드 정의
  • 괄호 안에 매개 변수를 컴마를 기준으로 2개 적음
  • 블록 안에는 매개 변수 2개를 이용하는 실행문을 작성

5) 매개변수: O, 반환값: O

메소드5 -> public int method5(int x) {
			  ......
          }
  • 메소드 블록 안에서는 매개변수 x를 이용한 어떤 코드가 실행되고 정수를 리턴하는 코드가 나오게 된다.

메소드는 0개 이상의 매개 변수를 받아들인 후, 코드를 실행하고 어떤 결과를 return할 수 있다.

2. MathBean 클래스 정의

public class MathBean {
    public void printClassName() {
        System.out.println("MathBean");
    }

    public void printNumber(int number) {
        System.out.println(number);
    }

    public int getOne() {
        return 1;
    }

    public int plus(int x, int y) {
        return x + y;
    }
}

3. MathBean 클래스 (UML 표기법)

- + : public
- getOne/plus/printClassName/printNumber : 메소드 이름
- 괄호 안 : 매개 변수
- 콜론(:) 뒤 : 리턴type

*코드를 작성하기 전에 이렇게 그림으로 어떤 클래스 이름을 사용할지, 어떤 메소드를 만들어야 할지 표현하는 습관을 가지는 것이 좋음 (설계 작업)

4. MathBeanTest 클래스

*자바 애플리케이션이 실행되려면 main 메소드가 있어야 한다.
*static이 붙은 메소드는 해당 메소드를 가진 클래스가 인스턴스가 되지 않더라도 사용할 수 있음. JVM이 해당 메소드를 실행함.

public class MathBeanTest {
    public static void main(String[] args) {
        // 생성자 (MathBean이 가지고 있는 메소드를 사용하기 위해 MathBean 인스턴스 생성
        // MathBean 인스턴스는 Heap이라고 불리는 메모리에 올라감)
        MathBean math = new MathBean();    // 참조 변수 math : MathBean 인스턴스를 math라는 변수로 가리킴

        math.printClassName();

        math.printNumber(5000);

        int x = math.getOne();
        System.out.println(x);

        int value = math.plus(200, 300);
        System.out.println(value);
    }
}

0개의 댓글