package ch04;
class Rabbit {
private String name; // heap변수, 전역변수, 맴버변수, 필드, 속성, 프로퍼티
private int power;
public Rabbit(String name, int power) {
this.name = name;
this.power = power;
}
// 행위 - 객체에 접근하는 것을 메서드로 하는게 객체지향의 시작
// 변수를 변경하는 행위는 신중하게 접근자를 선택해야한다
// 메서드는 그 클래스의 책임을 담당한다 (중요)
boolean drink() {
if (power >= 100) {
return false;
}
power++;
return true;
}
// void drink() {
// if (power < 100) {
// power++;
// }
// }
public int getPower() {
return power;
}
void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class RabbitApp {
public static void main(String[] args) {
Rabbit r1 = new Rabbit("토끼", 20); // power 는 100이 max라고 가정
System.out.println(r1.getPower());
r1.drink();
System.out.println(r1.getPower());
r1.drink();
System.out.println(r1.getPower());
while (r1.drink()) {}
System.out.println(r1.getPower());
//이름변경
r1.setName("산토끼");
System.out.println(r1.getName());
}
}
'Programming Language > Java' 카테고리의 다른 글
200327 객체지향 프로그래밍, 오브젝트, STATE, PUBLIC, PRIVATE (0) | 2020.03.27 |
---|---|
자바 스타크래프트 유닛으로 객체 이해하기 (0) | 2020.03.27 |
자바 public, private 비교 (0) | 2020.03.27 |
자바 생성자 자동 생성하는법 (0) | 2020.03.27 |
자바 생성자와 오버로딩 (0) | 2020.03.27 |