728x90
인스턴스 멤버란
객체(인스턴스) 마다 가지고 있는 필드와 메소드를 말한다.
인스턴스 멤버는 객체에 소속된 멤버이기 때문에 객체가 없이는 사용할 수 없다.
public class Car
{
//필드
int gas;
//메소드
void setSpeed(int speed) {...}
}
Car myCar = new Car();
myCar.gas = 10;
myCar.setSpeed(60);
Car yourCar = new Car();
yourCar.gas = 20;
yourCar.setSpeed(80);
//gas 필드와 setSpeed() 메소드는 인스턴스 멤버이기 때문에 외부 클래스에서 사용하기 위해서는 우선 Car 객체(인스턴스)를 생성하고 참조변수 myCar 또는 yourCar로 접근해야 한다.
this
객체(인스턴스) 자신의 참조(번지)를 가지고 있는 키워드이다.
객체 내부에서 인스턴스 멤버임을 명확히 하기 위해 this.을 붙일 수 있다.
주로 매개변수와 필드명이 동일할 경우 인스턴스 필드임을 명확히 하기 위해 붙인다.
예제)
package sec09.exam01_instance_member;
public class Car
{
String model;
int speed;
Car(String model)
{
this.model = model;
}
void setSpeed(int speed)
{
this.speed = speed;
}
void run()
{
for(int i = 10; i<=50; i+=10)
{
setSpeed(i);
//this.setSpeed() Car 객체안의 메소드인것을 더 명확하게 보여주기 위해 this를 붙여도 됨
System.out.println(this.model + "가 달립니다. (시속 :" + this.speed + "km/h)");
}
}
}
package sec09.exam01_instance_member;
public class CarExample
{
public static void main(String[] args)
{
Car myCar = new Car("포르쉐");
Car yourCar = new Car("벤츠");
myCar.run();
yourCar.run();
}
}
728x90
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[JAVA] final 필드와 상수(static final) (0) | 2021.06.29 |
---|---|
[JAVA] 정적 멤버와 static (0) | 2021.06.28 |
[JAVA] 클래스의 구성 멤버 / 메소드(2) (0) | 2021.06.23 |
[JAVA] 클래스의 구성 멤버 / 메소드(1) (0) | 2021.06.22 |
[JAVA] 클래스의 구성 멤버 / 생성자(2) (0) | 2021.06.22 |