반응형

1. 메소드 호출: 자바에서 메소드는 다른 코드에서 호출되어 특정 작업을 수행하는 블록이다. 메소드는 클래스 내부나 다른 클래스에서 호출될 수 있으며, 코드의 모듈화와 재사용성을 촉진한다. 메소드 호출은 해당 메소드의 이름과 전달하는 인수로 이루어진다.

class Calculator {
    int add(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        Calculator myCalculator = new Calculator();
        int result = myCalculator.add(3, 4);
        System.out.println(result); // 출력: 7
    }
}

위의 예제에서 add 메소드는 두 정수를 더하는 기능을 제공하며, 이를 main 메소드에서 호출하여 사용하고 있다.

2. 중복 메소드(Overloaded Methods): 자바에서는 같은 이름의 메소드를 여러 개 정의할 수 있는데, 이를 "중복 메소드"라고 한다. 중복 메소드는 매개변수의 개수나 데이터 타입이 다르거나, 매개변수의 순서가 다른 경우에 사용된다. 이를 통해 같은 기능을 하는 메소드를 다양한 상황에서 사용할 수 있다.

class Printer {
    void print(String message) {
        System.out.println(message);
    }

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

위의 예제에서 print 메소드는 문자열과 정수를 출력하는 두 가지 버전으로 중복 정의되어 있다.

Printer myPrinter = new Printer();
myPrinter.print("Hello, Java!"); // 문자열 출력
myPrinter.print(42); // 정수 출력

3. UML(Unified Modeling Language): UML은 객체지향 시스템을 설계하고 문서화하기 위한 표준화된 언어이다. UML 다이어그램은 시스템의 구조와 동작을 시각적으로 표현하며, 클래스 다이어그램, 시퀀스 다이어그램, 상태 다이어그램 등이 있다.

  • 클래스 다이어그램(Class Diagram): 클래스 간의 관계와 구조를 표현하는 데 사용된다. 클래스, 인터페이스, 연관, 상속, 구현 등의 요소를 포함한다.
  • 시퀀스 다이어그램(Sequence Diagram): 객체 간의 상호 작용과 메소드 호출의 순서를 표현하는 데 사용된다. 시간 경과에 따른 객체 간의 상호 작용을 시각화한다.
  • 상태 다이어그램(State Diagram): 객체의 생명 주기나 상태 전이를 표현하는 데 사용된다. 객체의 상태와 해당 상태에서의 동작을 시각적으로 나타낸다.

UML은 소프트웨어 개발 프로세스에서 분석, 설계, 구현, 테스트, 유지보수 등의 단계에서 사용되어 시스템의 이해와 협업을 촉진한다. UML 다이어그램은 복잡한 시스템을 단순하고 명확하게 표현하여 효과적인 개발과 유지보수를 가능케 한다.

 

- 따로 공부한 내용들

—메소드 호출(재사용, 구분에 용이)

class MyCar {

  public void start() {

    System.out.println("A");

    System.out.println("B");

    System.out.println("C");

    System.out.println("D");

    System.out.println("E");

  }

}

class Main {

  public static void main(String[] args) {

    MyCar c = new MyCar();

    System.out.println("before");

    c.start();

    System.out.println("after");

  }         

}

출력 :

—중복 메소드

*메서드 구분 기준

1.이름

2.파라미터[이름이 같아도 시그니처(개수, 순서, type)가 다르면 다른 것으로 인지한다] - 컴파일 문제 없음.

*return 유무, 접근 제한자는 구분 기준이 아니다. - 컴파일 오류

클래스 내부에 이름이 같은 메소드가 여러 개 존재하는 현상 => 메소드 오버로딩

ex)

class MethodEx1 {

  public void todo() {

  }

  void todo(int n) {

  }

  void todo(String str) {

  }

  void todo(int n, String str) {

  }

  void todo(String str, int n) {

  }

}

 

—UML(Unified Modeling Language) - 클래스 다이어그램

 

- : private +: public

+ Recent posts