티스토리 뷰
✨ 메소드란?
- 자바에서 클래스는 속성을 표현하는 필드와 기능을 표현하는 메소드를 가진다. 그 중 메소드란 특정 작업을 수행하기 위한 명령문의 집합이다. 클래스에서 메소드를 사용하는 이유는 코드의 중복을 피하고 가독성이 좋아지는 등 여러 장점이 있기 때문이다. 메소드는 클래스 내부에서만 선언이 가능하고 형태는 다음과 같다.
> 접근 제어자: 해당 메소드에 접근할 수 있는 범위
> 반환타입: 메소드가 모든 작업을 마치고 반환하는 데이터의 타입
> 매개변수 목록: 메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시하는 것이다.
public class JavaStudy {
private int currentSpeed;
private int accelerationTime;
public void accelerate(int speed, int second) {
System.out.println(second + "초간 속도를 시속" + speed + "로 가속");
}
}
> accelerate() 메소드를 정의했다. public 접근 제어자를 사용해 선언하여 접근성을 높였다.
> 반환 타입은 어떠한 값도 반환하지 않는다는 의미를 가진 void를 명시.
> 매개변수로 int형 변수 speed와 second를 전달 받는다. 전달받은 매개변수를 가지고 구현부에서 작업을 수행할 수 있다.
✨ 메소드 호출
- 위 방법으로 정의한 메소드는 멤버 참조 연산자(.)를 사용해 호출할 수 있다. 메소드를 호출하는 방법은 다음과 같다.
Car myCar = new Car(); // 객체 생성
myCar.accelerate(80, 5); // myCar 인스턴수의 accelerate() 메소드를 호출
public class Car { // Car 클래스 작성
private int currentSpeed;
private int accelerationTime;
public void accelerate(int speed, int second) {
System.out.println(second + "초간 속도를 시속 " + speed + "로 가속");
}
public static void main(String[] args) {
Car myCar = new Car(); // 객체 생성
myCar.accelerate(80, 5); // 객체의 메소드 호출
}
}
>> 5초간 시속 80으로 가속
✨ 자바의 정석 기본 예제
class Calculate {
int add(int x, int y) {
int result = x + y;
return result;
}
// 두 값을 받아서 둘중에 큰 값을 반환하는 메소드를 작성하시오.
long max(long a, long b) {
long result = 0;
if (a>b) {
result = a;
} else if (a < b) {
result = b;
}
return result;
}
}
public class Prac {
public static void main(String[] args) {
Calculate c1 = new Calculate();
c1.max(5, 3); // 저장할 곳이 없어서 호출만 되고 사라짐
System.out.println(c1.add(2, 6));
System.out.println(c1.max(5, 10));
}
}
'Algorithm > Java' 카테고리의 다른 글
자바 기본편 - 오버로딩 (0) | 2023.02.09 |
---|---|
자바 기본편 - 전달값과 반환값 (0) | 2023.02.09 |
자바 기본편 - 배열의 순회 (0) | 2023.02.04 |
자바 기본편 - 2차원 배열 (0) | 2023.02.04 |
자바 기본편 - 배열 (0) | 2023.02.01 |