ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 9일 차 생성자의 정적변수 접근
    삼성SDS_멀티캠퍼스/Java 2015. 9. 17. 10:01
    반응형


    class Employee {


    private String name;

    private double salary;


    private static int count = 0;


    public String getName() {

    return name;

    }


    public void setName(String name) {

    this.name = name;

    }


    public double getSalary() {

    return salary;

    }


    public void setSalary(double salary) {

    this.salary = salary;

    }


    public static int getCount() {

    return count;

    }


    public static void setCount(int count) {

    Employee.count = count;

    }


    @Override

    public String toString() {

    return "EmployeeTest [name=" + name + ", salary=" + salary + "]";

    }


    public Employee(String n, double s) {


    name = n;

    salary = s;

    count++;


    }


    protected void finalize() {

    count--;

    }


    }



    public class Test2 {

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    Employee e1, e2, e3;

    e1 = new Employee("김철수", 35000);
    e2 = new Employee("최수철", 50000);
    e3 = new Employee("김철호", 20000);

    int n = Employee.getCount();
    System.out.println("현재의 직원수 = " + n);

    }

    }




    setter, getter 정적변수에서는 자기자신 외의 모든값을 설정하거나 반환할 수 없다.


    하지만 생성자는 정적변수의 값을 변형시킬 수 있다.








    (번외)



    finalize는 가비지 컬렉터를 호출하는건데


    그냥 객체에 null을 사용하면 호출이 안된다.


    그래서 이렇게 해야함







    public class Test2 {


    public static void main(String[] args) {

    // TODO Auto-generated method stub


    Employee e1, e2, e3;


    e1 = new Employee("김철수", 35000);

    e2 = new Employee("최수철", 50000);

    e3 = new Employee("김철호", 20000);


    int n = Employee.getCount();

    System.out.println("현재의 직원수 = " + n);


    e1 = null; 

    //e1은 가비지컬렉션 대상이 됐지만 당장 수거되는건 아니다

    System.gc();

    System.runFinalization();

    //가비지컬렉터 강제로 일시키기(추천할만한 짓은 아니다)

    System.out.println("가비지 컬렉터 일 시키기 = "+Employee.getCount());


    }


    }















    반응형

    '삼성SDS_멀티캠퍼스 > Java' 카테고리의 다른 글

    9일 차 복소수에 관하여  (0) 2015.09.17
    9일 차 사용관계  (0) 2015.09.17
    9일 차 정적변수  (0) 2015.09.17
    8일 차 시험(깊은 복사, 얕은 복사)  (0) 2015.09.16
    8일 차 중간점검(생성자)  (0) 2015.09.16
Designed by Tistory.