[TIL][Java][2023-12-18] 객체 - 객체의 행위: 메서드

2023. 12. 18. 21:43TIL/Java

메서드

 

  • 메서드는 객체의 행위를 뜻하며 객체간의 협력을 위해 사용된다.
  • 클래스 내에서 특정 작업을 수행하는 함수이다.
  • 객체가 수행하는 동작이나 기능을 정의하는데 사용한다.

 

 

 

메서드 선언

 

리턴타입 메서드명 (매개변수) {
    실행할 코드 작성
}

 

  • 리턴타입
    • 메서드가 실행된 후 값을 반환할 때 해당 값의 타입
      주의할 점: 메서드에 리턴타입을 선언하여 반환할 값이 있다면 반드시 return문으로 해당하는 리턴타입의 반환값을 지정해야 한다.
    • 반환할 값이 없을 때는 리턴타입에 void를 작성한다.
      반환값이 없으므로 return문을 반드시 지정할 필요는 없다.

 

  • 매개변수
    • 메서드를 호출할 때 메서드로 전달하려는 값을 받기 위해 사용되는 변수
    • 전달하려는 값이 없다면 생략 가능하다.
    • 가변길이의 매개변수도 선언할 수 있다.

 

 

 

 

메서드 호출방법

 

메서드의 블록 내부에 작성된 코드를 실행한다.

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

 

외부접근

  • 객체를 생성했다면 참조변수를 이용하여 외부에서 객체 내부의 메서드에 접근하여 호출할 수 있다.
  • 내부 메서드에 접근하는 방법은 도트연산자를 사용하면 된다.
  • 메서드가 매개변수를 가지고 있다면 반드시 호출할 때 매개변수의 순서와 타입에 맞게 매개값을 넣어주어야 한다.
// 외부접근

Car car = new Car();

car.brakePedal(); // 도트 연산자를 사용하여 메서드에 접근

car.gasPedal(100, 'D'); // 매개변수를 가지고 있다면 반드시 순서와 타입에 맞게 넣어준다.

 

 

 

내부접근

  • 객체 내부에서도 내부 메서드에 접근하여 호출할 수 있다.
// 내부 접근

double gasPedal(double kmh, char type) {
    changeGear(type);
    speed = kmh;
    return speed;
}

 

 

 

반환 값 저장

  • 메서드의 리턴타입을 선언하여 반환할 값이 있다면 변수를 사용하여 받아줄 수 있다.
    반드시 리턴타입과 변수의 타입이 동일하거나 자동 타입변환될 수 있어야 한다.
// 반환 값 저장

// double 타입의 변수 speed를 사용하여 double gasPedal(double kmh, char type)메서드의 
// double 타입 반환값을 받아 저장
double speed = car.gasPedal(100, 'D');