이전 자료형에 대해 배웠을 때 자료형에 기본자료형과 참조자료형으로 두가지가 있었다. 따라서 메서드에 인자 정달 방식도 두가지 있다.
값 호출
하나의 클래스 내에 같은 이름을 가진 메서드가 여러 개 정의 될 수 있다. 이를 메서드 오버로딩이라고 한다.
같은 클래스 내에서 메서드가 다른 멤버필드를 조작하기 위해서는 this 참조변수를 활용해야 한다.
public class Circle {
static final double PI = 3.14159265;
private double radius;
double getArea() {
return radius * radius * PI;
}
void setRadius(double radius) {
this.radius = radius; // radius = radius;
}
}
매개변수로 받은 radius를 클래스 내에 선언된 radius안에다가 할당하고 싶을 때 클래스 내에 선언된 radius에 this.을 붙여준다.
기본적으로 자바에서는 this 없이도 묵시적으로 처리해주기에 사용하지 않아도 가능하다.
객체 = 데이터(속성, 변수/상수, 멤버필드) + 알고리즘(행위, 함수, 메서드)
객체의 속성을 저장하는 것이 멤버필드이다.
double radius;
static double radius;
객체가 수행할 수 있는 동작들을 메서드라고 한다.
double getArea(double radius){
return radius * radius * PI;
}
static double getArea(double radius){
return radius * radius * PI;
}