age 라는 변수를 긁어서 오른쪽 클릭
Source > Generate Getters and Setters...
눌러보면 setAge(int age), getAge 함수처럼 자동적으로 함수를 만들어준다. (JVM에 저장되어 있는 것만 가능^^)
class Baby {
int age = -5;
public void setAge(int num) { // 나이 설정
age = num;
}
public int getAge() { // 나이 얻어오기
return age;
}
public void showDrink() { // 술을 마실 수 있는지
if (age >= 20) {
System.out.println("술을 마실 수 있습니다.");
} else {
System.out.println("술을 마실 수 없습니다.");
}
}
}
public class ObjectTest {
public static void main(String[] args) {
Baby baby = new Baby(); // 객체 생성
System.out.println(baby); // 참조하는 주소값 출력
System.out.println(baby.age); // 나이 출력 (초기값)
baby.setAge(10); // 나이를 10으로 설정
System.out.println(baby.age); // 설정한 값 : 10 출력
System.out.println(baby.getAge()); // getAge 함수로 얻기
baby.showDrink(); // 술을 마실 수 있나요? (X)
baby.setAge(20); // 나이를 20으로 설정
baby.showDrink(); // 술을 마실 수 있나요? (O)
}
}
class Grade {
int kor;
int eng;
int math;
void initGrade(int a, int b, int c) { // initialize (초기화하는 함수)
kor = a;
eng = b;
math = c;
}
double getAvg() { // 평균 구하는 함수
return (kor + eng + math) / 3.0;
}
char getGrade() { // 등급 구하는 함수
double avg = getAvg(); // getAvg() 호출
char grade = '가';
if (avg >= 90) {
grade = '수';
} else if (avg >= 80) {
grade = '우';
} else if (avg >= 70) {
grade = '미';
} else if (avg >= 60) {
grade = '양';
} else {
grade = '가';
}
return grade;
}
/*
char getGrade(double avg) {
// 평균 값을 받아와서 구하는 방법
char grade = '가';
if (avg >= 90) {
grade = '수';
} else if (avg >= 80) {
grade = '우';
} else if (avg >= 70) {
grade = '미';
} else if (avg >= 60) {
grade = '양';
} else {
grade = '가';
}
return grade;
}
*/
}
public class ObjectTest {
public static void main(String[] args) {
Grade grade = new Grade();
// System.out.println(grade.kor + ", " + grade.eng + ", " + grade.math);
grade.initGrade(80, 80, 40);
double average = grade.getAvg();
System.out.println(average + "점");
char text = grade.getGrade();
System.out.println(text + "입니다");
}
}
class Triangle{
double width; // 밑변
double height; // 높이
void setWidth(double w) {
width = w;
}
void setHeight(double h) {
height = h;
}
void initTriangle(double w, double h) {
width = w;
height = h;
}
double getArea() {
return width * height / 2;
// return width * height * 0.5;
}
}
public class ObjectTest {
public static void main(String[] args) {
Triangle t = new Triangle();
t.setWidth(10);
t.setHeight(10);
double area = t.getArea();
System.out.println("삼각형의 넓이 : " + area);
Triangle t2 = new Triangle();
t2.initTriangle(10, 10);
area = t2.getArea();
System.out.println("삼각형의 넓이 : " + area);
}
}
class Triangle{
double width; // 밑변
double height; // 높이
void initTriangle(double w, double h) {
width = w;
height = h;
}
double getArea() {
return width * height / 2;
}
void compare(Triangle t) {
if ((width == t.width) && (height == t.height)) {
System.out.println("같은 삼각형입니다.");
} else {
System.out.println("다른 삼각형입니다.");
}
}
}
public class ObjectTest {
public static void main(String[] args) {
Triangle t = new Triangle();
t.initTriangle(10, 5);
Triangle t2 = new Triangle();
t2.initTriangle(10, 5);
t.compare(t2);
t2.initTriangle(10, 10);
t.compare(t2);
}
}
[Console]
같은 삼각형입니다.
다른 삼각형입니다.
BankAccount ref1 = new BankAccount();
BankAccount ref2 = ref1; // 같은 인스턴스를 참조한다
class BankAccount {
int balance = 0; // 예금 잔액
public int deposit(int amount) { // 입금
balance += amount;
return balance;
}
public int withdraw(int amount) { // 출금
balance -= amount;
return balance;
}
public int checkMyBalance() { // 예금 조회
System.out.println("잔액 : " + balance);
return balance;
}
}
public class BankAccountTest {
public static void main(String[] args) {
BankAccount yoon = new BankAccount(); // 객체 생성
yoon.deposit(5000);
yoon.checkMyBalance();
yoon.withdraw(1000);
yoon.checkMyBalance();
yoon = new BankAccount();
yoon.checkMyBalance();
}
}
[Console]
잔액 : 5000 (처음 new 객체 생성)
잔액 : 4000
잔액 : 0 (다시 new 객체 생성)