기본형 매개변수와 참조형 매개변수
기본형 매개변수 : 변수의 값을 읽기만 할 수 있다. (read only)
참조형 매개변수 : 변수의 값을 읽고 변경할 수 있다. (read & write)
반환타입이 참조형이라는 것은 메서드가 '객체의 주소'를 반환한다는 것을 의미
재귀호출(recursive call)
메서드의 내부에서 메서드 자신을 다시 호출하는 것
재귀 메서드
재귀호출을 하는 메서드
재귀호출은 비효율적이므로 재귀호출에 드는 비용보다 재귀호출의 간결함이 주는 이득이 충분히 큰 경우에만 사용해야 한다.
클래스 메서드(static메서드)와 인스턴스 메서드
메서드 앞에 static이 붙어 있으면 클래스 메서드, 붙어 있지 않으면 인스턴스 메서드
인스턴스 메서드
인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드
클래스 메서드
인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드를 클래스 메서드(static 메서드)로 정의한다.
멤버변수
클래스 영역 안에 선언된 변수(인스턴스 변수와 static변수를 모두 통칭하는 말)
- 클래스 변수(static변수) : 멤버변수 중에 static이 붙은 것
- 인스턴스 변수 : static이 붙지 않은 것
1. 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙인다.
2. 클래스 변수(static변수)는 인스턴스를 생성하지 않아도 사용할 수 있다.
3. 클래스 메서드(static메서드)는 인스턴스 변수를 사용할 수 없다.
4. 메서드 내에서 인스턴스 변수를 사용하지 않는다면, static을 붙이는 것을 고려한다.
- 클래스의 멤버변수 중 모든 인스턴스에 공통된 값을 유지해야 하는 것이 있는지 살펴보고 있으면, static을 붙여준다.
- 작성한 메서드 중에서 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드에 static을 붙일 것을 고려한다.
'Backend > Java' 카테고리의 다른 글
[Java] VO와 DTO의 차이점 (0) | 2024.07.30 |
---|---|
자바 기본 API 클래스(3) (0) | 2022.07.24 |
자바의 정석 정리(28) - 메서드 ② (0) | 2022.06.17 |
자바의 정석 정리(27) - 메서드 ① (0) | 2022.06.16 |
자바의 정석 정리(26) - 변수 (0) | 2022.06.15 |