티스토리 뷰

Algorithm/Java

자바 기본편 - 메소드

JJIINDOL 2023. 2. 8. 22:49

✨ 메소드란?

 - 자바에서 클래스는 속성을 표현하는 필드와 기능을 표현하는 메소드를 가진다. 그 중 메소드란 특정 작업을 수행하기 위한 명령문의 집합이다. 클래스에서 메소드를 사용하는 이유는 코드의 중복을 피하고 가독성이 좋아지는 등 여러 장점이 있기 때문이다. 메소드는 클래스 내부에서만 선언이 가능하고 형태는 다음과 같다.

 

 

> 접근 제어자: 해당 메소드에 접근할 수 있는 범위

> 반환타입: 메소드가 모든 작업을 마치고 반환하는 데이터의 타입

> 매개변수 목록: 메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시하는 것이다.

 

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함