메서드란 무엇인가?
메서드(Method)는 프로그래밍에서 코드의 논리적인 단위로, 특정한 작업을 수행하기 위한 독립적인 코드블록이다.
메서드는 클래스 내부에 정의되며, 객체지향 프로그래밍에서는 객체의 동작을 정의하는데 사용된다. 메서드는 필요할 때 호출되어 실행되며, 호출된 메서드는 지정된 작업을 수행한 후 결과를 반환할 수 있다.
메서드는 일련의 명령문의 집합으로 구성되며, 다음과 같은 요소로 구성된다.
- 메서드 시그니처 : 메서드의 이름과 매개변수 몸ㄱ록을 포함한다. 매개변수는 메서드가 필요로 하는 입력값을 나타내며, 메서드를 호출할 때 전달된다.
- 메서드 바디 : 중괄호 `{}` 안에서 메서드가 실행되는 코드 블록을 포함한다. 메서드의 실제 동작이 구현되는 부분이다.
- 리턴 타입 : 메서드가 수행한 후 반환하는 값의 데이터 타입을 지정한다. 반환값이 없는 경우에는 `void`로 표시된다.
- 접근 제어자 : 메서드의 접근 범위를 지정하는 키워드로, 다른 클래스에서 메서드에 접근할 수 있는지 여부를 결정한다.
메서드의 종류
- 인스턴스 메서드(Instance Method) : 객체의 인스턴스에 속하는 메서드로, 해당 클래스의 인스턴스를 생성한 후에만 호출할 수 있다. 인스턴스 변수에 접근하거나 수정하는 등의 작업을 수행한다. 메서드 내에서는 this 키워드를 사용하여 현재 객체를 참조할 수 있다.
- 정적 메서드 (Static Method) : 클래스에 속하는 메서드로, 클래스의 인스턴스 생성 없이 직접 호출할 수 있다.. 주로 유틸리티 메서드나 독립적인 작업을 수행하는 메서드에 사용된다. 정적 메서드 내에서는 인스턴스 변수에 직접 접근할 수 없으며, 정적 변수와 다른 정적메서드만 사용 할 수 있다. 호출 시 클래스 이름을 통해 호출된다.
- 생성자(Constructor) : 객체를 생성할 때 호출되는 특별한 메서드로, 클래스와 같은 이름을 가진다. 객체의 초기화를 담당하며, 객체가 생성될 때 자동으로 호출된다. 주로 인스턴스 변수의 초기화 작업이 수행된다. 생성자는 리턴 타입이 없고, 클래스를 인스턴스화 할때 new 키워드와 함께 호출된다.
- 접근자(Accessor)메서드와 설정자(Mutator) 메서드 : 클래스의 인스턴스 변수에 접근하고 값을 가져오거나 설정하기 위해 사용되는 메서드이다. 접근 메서드(Getter)는 인스턴스 변수의 값을 반환하며, 설정자 메서드(Setter)는 인스턴스 변수의 값을 변경한다. 주로 캡슐화와 정보 은닉을 위해 사용된다.
- 재정의(Override) 메서드 : 상속 관계에서 부모 클래스의 메서드를 자식 클래스에서 동일한 시그니처로 다시 정의하는 메서드이다. 동일한 이름 매개변수, 리턴 타입을 가져야 하며, 부모 클래스의 메서드를 재정의하여 자식 클래스의 동작을 변경하거나 추가 기능을 구현할 수 있다.
- 추상(Abstract)메서드 : 메서드의 선언부만 있고 구현이 없는 메서드로, 추상 클래스나 인터페이스에서 선언된다. 하위 클래스에서 반드시 구현해야 한다. 추상 메서드는 하위 클래스에서 동작을 재정의하도록 강제하거나, 다형성을 구현하기 위해 사용된다.
- 내부(Inner) 클래스의 메서드 : 클래스 내부에 선언된 클래스인 내부 클래스에서 사용되는 메서드이다. 내부 클래스의 메서드는 외부 클래스의 멤버에 쉽게 접근할 수있다. 내부 클래스는 외부 클래스의 인스턴스와 관련하여 사용되며, 내부 클래스의 메서드에서는 외부 클래스의 인스턴스 변수와 메서드에 직접접근할 수 있다.
'Java > JAVA 100 문제 풀이' 카테고리의 다른 글
자바 part.3 문제풀이 - 반환값O, 인자값X 메서드 구현 (0) | 2023.07.04 |
---|---|
자바 part.3 문제풀이 - 반환값, 리턴 , 인자값, 메서드, 덧셈 (0) | 2023.07.04 |
자바 part.3 문제풀이 - 메서드, 정의, 메서드구현 (0) | 2023.06.26 |
자바 part.2 문제풀이 - 1,2차원, 사용자입력 배열 예제 (0) | 2023.06.23 |
자바 part.2 문제풀이 - 배열복사 (0) | 2023.06.22 |