사번, 사원명, 급여에 대한 값을 나타내시오
package exOop;
public class HR {
public static void main(String[] args) {
Employee e1 = new Employee(); //클래스 생성
e1.setNo("21001");
e1.setName("철수");
e1.setSalary(500);
e1.printInfo();
}
}
new 키워드를 만나면 힙(heap)의 동적인 메모리 공간을 할당받는다.
할당받은 내용 Employee() 는 할당된 힙(heap) 메모리공간을 아래의 Employee 클래스의 내용으로 채운다.
e1으로 Employee 값을 대입하고 매개변수 값을 넣고 반환한다.
package exOop;
public class Employee {
String no;
String name;
int salary;
void setNo(String str) {
no = str;
}
void setName(String s) {
name = s;
}
void setSalary(int n) {
salary = n;
}
void printInfo() {
System.out.println("사번:" + no + " 사원명:" + name + " 급여: "+ salary);
}
}
String, int 데이터타입은 기본형 멤버변수이다.
기본형 멤버변수 static이 없는 것은 객체내에 만들어진 변수이며 인스턴스 변수라고 한다.
인스턴스변수는 힙 영역에 할당이 되면서 객체가 생성될 때 자동초기화 된다
힙(heap) 영역에 no, name, salary 변수가 할당되었다.
String 데이터 타입인 경우에는 null 값, int 는 0으로 자동 초기화 된다.
결과값
사번은:21001 사원명은:철수 급여: 500
TV
package oop;
public class TV {
boolean power;
int channel;
int volume;
boolean isPower() {
return power;
}
void powerOn() {
power = true;
}
void powerOff() {
power = false;
}
void setChannel(int ch) { //7
channel = ch; //매개변수 ch
}
void volumeUp() {
volume++;
}
void printInfo() {
System.out.println("전원은 " + power);
System.out.println("채널은 " + channel);
System.out.println("볼륨은 " + volume);
}
}
WatchTV
package oop;
public class WatchTV {
public static void main(String[] args) {
TV tv= new TV();
// tv.power = true; //전원을 켠다.
// tv.channel = 7;
// tv.volume = 10;
// System.out.println("TV전원은 " + tv.power);
// System.out.println("채널은 " + tv.channel);
// System.out.println("볼륨은 " + tv.volume);
boolean powerFlag = tv.isPower();
if (!powerFlag) { // if(powerFlag == false)
tv.powerOn(); // 전원을 켠다. //호출만 하고 끝내기때문에 리턴값을 받지 않는다.
tv.setChannel(7); // 채널을 7로 설정한다.
for (int i = 0; i < 10; i++) {
tv.volumeUp();
}
// System.out.println("채널은 " + tv.channel); // 10
// System.out.println("볼륨은 " + tv.volume); // 10
tv.printInfo();
} else {
tv.powerOff(); // 전원을 끈다.
}
}
}
'java' 카테고리의 다른 글
java_5_ 클래스 구성 (필드 , 메소드, 오버로딩) (0) | 2021.10.13 |
---|---|
Selection Sort & Bubble Sort (0) | 2021.10.13 |
java_4_객체와 클래스 (메모리영역) 개념 (0) | 2021.10.12 |
java_4_배열 (0) | 2021.10.12 |
java_ 3_ 반복문의 예외항목 (0) | 2021.10.09 |