package ch09;
public class Employee {
public static int serialNum = 1000;
private int employeeId;
private String employeeName;
private String department;
public Employee(String employeeName) {
serialNum++;
employeeId = serialNum;
this.employeeName = employeeName;
}
//문제 1. getEmployeeId
//문제 2. getEmployeeName
//문제 3. getDepartment
public int getEmployeeId() {
return employeeId;
}
public String getEmployeeName() {
return employeeName;
}
public String getDepartment() {
return department;
}
//static 메서드 활용
public static int getSerialNum() {
//컴파일할때 쓰지 못하도록 설정이되어있다.
// department = "홍보팀";
return serialNum;
//주의 static 메서드 안에서는 멤버변수를 사용할 수없다.
//why: 객체가 만들어지기 전에 접근해서 사용할 수있는 static이기 때문입니다.
}
}
package ch09;
public class MainTest2 {
public static void main(String[] args) {
// static은 클래스 이름으로 접근 가능하다.
int tempNumber = Employee.getSerialNum(); // new해서 안올리고 static을 실행시킬수있다. static은 heap영역이 아니라 독자적인 영역이있기때문
System.out.println(tempNumber); // System.out.println 또한 Static이라 new를 사용하지않아도 사용이가능
Employee employee1 = new Employee("이순신");
Employee employee2 = new Employee("김유신");
Employee employee3 = new Employee("티모");
System.out.println(employee1.getEmployeeId());
System.out.println(employee2.getEmployeeId());
System.out.println(employee3.getEmployeeId());
}
}
'Java > chapter2' 카테고리의 다른 글
ch09 FormainTest3 (0) | 2021.08.26 |
---|---|
ch09 Company (0) | 2021.08.25 |
ch09 NumberPrinter (0) | 2021.08.25 |
ch08 Person this란? (0) | 2021.08.25 |
ch07 Hero (0) | 2021.08.25 |