[Java] 클래스 ④

kiteB·2021년 12월 31일
0

Java

목록 보기
11/35
post-thumbnail

[ 메소드 ]

메소드는 어떠한 특정 작업을 수행하기 위한 명령문의 집합이다.

  • 메소드는 필드를 읽고 수정하는 역할을 하며, 다른 객체를 생성해서 다양한 기능을 수행하기도 한다.
  • 메소드는 객체 간의 데이터 전달 수단으로 사용된다.

1. 메소드 선언

메소드 선언은 선언부(리턴타입, 메소드이름, 매개변수선언)와 실행 블록으로 구성된다.
메소드 선언부를 시그너처(signature)라고도 한다.

접근제어자 리턴타입 메소드이름(매개변수목록) {	//선언부
    //구현부
}
  • 접근 제어자: 해당 메소드에 접근할 수 있는 범위를 명시한다.
  • 리턴 타입: 메소드가 모든 작업을 마치고 반환하는 데이터 타입을 명시한다.
  • 메소드 이름: 메소드를 호출하기 위한 이름을 명시한다.
  • 매개변수 목록: 메소드 호출 시에 전달되는 인수의 값들을 저장할 변수들을 명시한다.
  • 구현부: 메소드의 고유 기능을 수행하는 명령문의 집합이다.

메소드 이름 규칙

메소드 이름은 자바 식별자 규칙에 맞게 작성되며, 다음 사항에 주의하자!

  • 숫자로 시작하면 안되며, $_를 제외한 특수 문자를 사용하지 말아야 한다.
  • 관례적으로 메소드명은 소문자로 작성한다.
  • 서로 다른 단어가 혼합된 이름이라면 뒤이어 오는 단어의 첫 글자는 대문자로 작성한다.
void run() { ... }
void startEngine() { ... }
String getName() { ... }
int[] getScores() { ... }


2. 메소드 호출

메소드는 클래스 내/외부의 호출에 의해 실행된다.

  • 클래스 내부의 다른 메소드에서 호출할 경우에는 단순한 메소드 이름으로 호출하면 된다.
  • 클래스 외부에서 호출할 경우에는 우선 클래스로부터 객체를 생성한 뒤, 참조 변수를 이용해서 메소드를 호출해야 한다.

1) 객체 내부에서 호출

  • 클래스 내부에서 다른 메소드를 호출할 경우에는 다음과 같은 형태로 작성하면 된다.
메소드(매개값, ...);

2) 객체 외부에서 호출

  • 외부 클래스에서 메소드를 호출하려면 다음과 같이 클래스로부터 객체를 생성한 뒤, 메소드를 호출해야 한다.
클래스 참조변수 = new 클래스(매개값, ...);

참조변수.메소드(매개값, ...);	//리턴값이 없거나, 있어도 리턴값 받지 않는 경우
타입 변수 = 참조변수.메소드(매개값, ...);	//리턴값이 있고, 리턴값을 받고 싶은 경우
  • 예제
Car myCar = new Car();	//객체 생성
myCar.keyTurnOn();
myCar.run();
int speed = myCar.getSpeed();


3. 메소드 오버로딩

메소드 오버로딩이란 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것을 말한다.

  • 하나의 메소드 이름으로 여러 기능을 담는 것이다.
  • 메소드 오버로딩의 조건은 매개 변수의 타입, 개수, 순서 중 하나가 달라야 한다.
  • 메소드 오버로딩이 필요한 이유는 매개값을 다양하게 받아서 처리할 수 있도록 하기 위해서이다. → 이로 인해 중복된 코드를 줄일 수 있다.
profile
🚧 https://coji.tistory.com/ 🏠

0개의 댓글