안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
클래스 내부의 다른 메서드에서 호출할 경우에는 단순한 메서드 이름으로 호출하면 되지만
클래스 외부에서 호출할 경우 먼저 클래스로부터 객체를 생성한 뒤
참조 변수를 이용해서 메서드를 호출해야 합니다.
객체 내부에서 호출
클래스 내부에서 다른 메서드를 호출할 경우에는 다음과 같은 형태로 작성하면 됩니다.
메서드(매개값, ...);
예를 들어 method2()메서드에서 method1()메서드를 호출하려면
public class ClassName {
void method1(String s1, int i2){
}
void method2(){
method1("부르곰", 24);
}
}
메서드가 리턴값이 없거나 있어도 받고 싶지 않을 경우 위와 같이 모두 호출이 가능합니다.
리턴값이 있는 메서드를 호출하고 리턴값을 받고 싶다면 다음과 같이 변수를 선언하고 대입하면 됩니다.
타입 변수 = 메서드(매개값, ...);
↑______|
리턴값
주의해야 할 점은 변수 타입은 메서드 리턴값과 동일하거나 타입 변환이 될수 있어야 합니다.
ex) int 타입은 double 타입으로 자동 변환되기 때문에 int 리턴값은 double 변수에 대입할 수 있습니다.
public class ClassName {
int method1(int x, int y){
int result = x + y;
return result;
}
void method2(){
int result1 = method1(10,20);
double result2 = method1(10,20);
}
}
객체 외부에서 호출
클래스 참조변수 = new 클래스(매개값,...);
객체가 생성되었다면 참조변수와 도트(.) 연산자를 사용해서 메서드를 호출할 수 있습니다.
도트 연산자는 객체 접근 연산자로 객체가 가지고 있는 필드나, 메서드에 접근할 때 사용됩니다.
참조타입.메서드(매개값,...); //리턴값이 없거나, 있어도 리턴값을 받지 않을 경우
타입 변수 = 참조변수.메서드(매개값,...); // 리턴값이 있고, 리턴값을 받고 싶을 경우
예제)
public class Car {
//필드
int speed;
//생성자
//메소드
int getSpeed() {
return speed;
}
void keyTurnOn() {
System.out.println("키를 돌립니다.");
}
void run() {
for(int i=10; i<=50; i+=10) {
speed = i;
System.out.println("달립니다.(시속:" + speed + "km/h)");
}
}
}
예제2)
public class CarExample {
public static void main(String[] args) {
Car myCar = new Car();
myCar.keyTurnOn();
myCar.run();
int speed = myCar.getSpeed();
System.out.println("현재 속도: " + speed + "km/h");
}
}
알통몬에게 프로틴 충전해주기'자바' 카테고리의 다른 글
JAVA 자바 인스턴스 멤버와 this (0) | 2017.03.12 |
---|---|
JAVA 자바 메서드 - 자바 메서드 오버로딩 (0) | 2017.03.12 |
JAVA 자바 메서드 - 리턴문 , 리턴값이 있는 메서드, 리턴값이 없는 메서드 (0) | 2017.03.12 |
JAVA 자바 메소드 - 메소드 선언 (0) | 2017.03.12 |
JAVA 자바 생성자 오버로딩과 다른 생성자 호출(this()) (0) | 2017.03.12 |