본문 바로가기

JAVA공부

객체의 행위 : 메서드

메서드는 객체의 행위를 뜻하며 객체간의 협력을 위해 사용됩니다.

  • 메서드의 행위를 정의하는 방법은 블록{ } 내부에 실행할 행위를 정의하면됩니다.

 

메서드 호출방법

‘메서드를 호출한다’ 라는 의미는 메서드의 블록 내부에 작성된 코드를 실행한다는 의미입니다.

  • 필드와 마찬가지로 클래스의 메서드를 정의하여 선언했다고 해서 바로 사용할 수 있는 것은 아닙니다.
  • 클래스는 설계도일 뿐 메서드는 객체의 행위를 정의한 것입니다.
  • 따라서 객체를 생성한 후에 메서드를 사용할 수 있습니다.

 

오버로딩

  • 오버로딩 은 함수가 하나의 기능만을 구현하는것이 아니라 하나의 메서드 이름으로 여러 기능을 구현하도록 하는 Java의 기능입니다.
  • 서드 오버로딩즉, 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도, 매개변수의 개수 또는 타입, 순서가 다르면 동일한 이름을 사용해서 메서드를 정의할 수 있습니다.
  • 오버로딩의 조건
    • 메서드의 이름이 같고, 매개변수의 개수, 타입, 순서가 달라야 합니다.
    • '응답 값만' 다른 것은 오버로딩을 할 수 없습니다.
    • 접근 제어자만 다른 것도 오버로딩을 할 수 없습니다.
    • 결론, 오버로딩은 매개변수의 차이로만 구현할 수 있습니다.

 

  • 오버로딩의 장점
  1. 메서드 이름 하나로 상황에 따른 동작을 개별로 정의할 수 있습니다.
    1. 예를들면 메세지 출력할때 쓰는 println() 이 있습니다.
    2. println() 의 매개변수로는 int, double, String, boolean 등 다양하게 넣을 수 있습니다.
  2. 메서드의 이름을 절약할 수 있습니다.
    1. 만약 오버로딩이 안된다면 println() 는 printlnInt(), printlnDouble() 처럼 메서드명이 길어지고 낭비 되었을 것 입니다.
  • 오버로딩된 println() 확인해보기!
    • PrintStream

'JAVA공부' 카테고리의 다른 글

인스턴스 멤버와 클래스 멤버  (0) 2023.10.16
기본형 & 참조형 매개변수  (0) 2023.10.16
객체의 속성 : 필드  (0) 2023.10.16
객체 생성  (0) 2023.10.16
클래스 설계  (0) 2023.10.16