메서드는 객체의 행위를 뜻하며 객체간의 협력을 위해 사용됩니다.
- 메서드의 행위를 정의하는 방법은 블록{ } 내부에 실행할 행위를 정의하면됩니다.
메서드 호출방법
‘메서드를 호출한다’ 라는 의미는 메서드의 블록 내부에 작성된 코드를 실행한다는 의미입니다.
- 필드와 마찬가지로 클래스의 메서드를 정의하여 선언했다고 해서 바로 사용할 수 있는 것은 아닙니다.
- 클래스는 설계도일 뿐 메서드는 객체의 행위를 정의한 것입니다.
- 따라서 객체를 생성한 후에 메서드를 사용할 수 있습니다.
오버로딩
- 오버로딩 은 함수가 하나의 기능만을 구현하는것이 아니라 하나의 메서드 이름으로 여러 기능을 구현하도록 하는 Java의 기능입니다.
- 서드 오버로딩즉, 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도, 매개변수의 개수 또는 타입, 순서가 다르면 동일한 이름을 사용해서 메서드를 정의할 수 있습니다.
- 오버로딩의 조건
- 메서드의 이름이 같고, 매개변수의 개수, 타입, 순서가 달라야 합니다.
- '응답 값만' 다른 것은 오버로딩을 할 수 없습니다.
- 접근 제어자만 다른 것도 오버로딩을 할 수 없습니다.
- 결론, 오버로딩은 매개변수의 차이로만 구현할 수 있습니다.
- 오버로딩의 장점
- 메서드 이름 하나로 상황에 따른 동작을 개별로 정의할 수 있습니다.
- 예를들면 메세지 출력할때 쓰는 println() 이 있습니다.
- println() 의 매개변수로는 int, double, String, boolean 등 다양하게 넣을 수 있습니다.
- 메서드의 이름을 절약할 수 있습니다.
- 만약 오버로딩이 안된다면 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 |