본문 바로가기

TIL

<자바 Java> 메서드

- 메서드란?

C언어에서는 함수이지만, 자바에서는 메서드로 사용된다. 즉, 함수와 비슷하다는 뜻. 이렇게 우리가 이미 알고 있는 함수라는 개념을 가지고 메서드를 처음 공부할 때 접근하면 이해가 훨씬 쉽다. 메서드는 자바에서 클래스 내에서 해당 객체의 상태를 나타내는 데이터를 가진 필드와 함께, 객체의 기능을 규정한다. 메서드는 특히 필드나 생성자에 비해 기능이 많은데, 필드나 생성자가 자바 프로그래밍에서 기본 뼈대라고 한다면, 메서드는 여러 기능을 가진만큼 그 중에서도 핵심적인 역할을 수행하는 뼈대라고 할 수 있겠다.

 

 

- 메서드 구성

메서드는 크게 선언부와 실행 블록으로 나뉜다. 선언부는 메서드가 선언되는 첫 줄을 말하며, 실행 블록은 선언부 다음의 {} 기호 안의 영역을 말한다. 선언부의 형태는 다음과 같다.

// 접근제한자 리턴타입 메서드이름 (매개변수) {
}

 

1) 접근제한자

해당 메서드의 접근 범위를 나타낼 때 사용한다. 객체 지향 프로그래밍의 특성상 객체를 외부에서 함부로 접근하거나 수정하지 못하도록 하는 것이 필요할 때가 있는데, 이 경우 사용된다. public, protected, default, private의 4가지가 있다.

 

2) 리턴타입

메서드 실행 후 결과를 메서드를 호출한 곳으로 다시 보내주어야 할 때 사용한다. 즉 메서드 실행 후의 값을 이럴 때 '리턴값'이라고 하는데, 해당 리턴값을 어떤 데이터 타입으로 보내주어야 하는지에 따라 메서드 선언부의 리턴타입도 결정된다. 리턴이 필요하지 않은 경우에는 void를 대신 쓴다.

 

3) 메서드이름

메서드도 이름이 필요하다. 메서드는 식별이 가능하도록 해당 기능의 성격을 나타내는 단어로 표현한다. 그리고 소문자로 쓴다.

 

4) (매개변수)

메서드를 실행할 때 데이터가 필요한 경우, 외부에서 데이터를 보내주는데 이 때 이를 매개변수로서 받아 이를 메서드 내부에서 사용하여 기능을 수행한다.

 

 

- 메서드 실행

메서드는 해당 메서드가 속한 클래스의 내부에서 호출되거나, 혹은 다른 클래스에서(외부에서) 호출하는 두 가지 경우에 의해 실행될 수 있다. 다만 여기서 주의할 점은, 필드와 마찬가지로 메서드도 객체와 떼려야 뗄 수 없는 관계이므로 메서드를 호출하기 위해서는 그 메서드가 속해있는 클래스로 객체를 생성하여 도트연산자(.)로 접근할 수 있다는 것이다.

//메서드 호출

//객체 생성
Car car = new Car();
//메서드 호출
car.run();

 

 

 

 

 

참조 : 도서 <이것이 자바다>