과제 일시 : 2019 - 10 - 01
과제 내용
<과제> [8번째 과제] 교재 292 직원 class 작성하고, 아래 물음에 답할 것. 1) 객체변수와 static 변수의 차이점은 무엇인가? 2) 어떤 경우에 static 변수를 사용해야 하는가? 예를 한가지 만 들어서 설명할 것.
3) 직원들의 봉급의 합을 알기 위해서 static 변수 totalSalary 를 만들고, 생성자에서 모든 직원들의 봉급의 합이 계산되도록 코딩하세요.
객체 변수 : 같이 합치지 못하고 따로 설정해야하는 변수에 사용
static변수 : 굳이 나누지 않고, 공통으로 합을 낼 수 있는 변수
Static
보통 변수나 메소드 앞에 static 키워드를 붙여서 사용하고 메모리를 공유하기 위한 용도로 자주 사용됨
보통 사용에 적절한 예는 "오늘 날짜" " 숫자 콤마 추가"등
[Source Code]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// File Name : Employee.java
public class Employee {
private String name;
private double salary;
private static double TotalSalary;
private static int count = 0 ; // 정직 변수
// 생성자
public Employee (String n, double s) {
name = n;
TotalSalary = TotalSalary + s;
salary = s;
count+ + ; // 정직 변수인 count를 증가
}
//객체가 소멸될 때 호출된다.
protected void finalize () {
count- - ;
}
// 정적 메소드
public static int getCount() {
return count;
}
public static int TotalSalary() {
return (int ) TotalSalary;
}
}
// File Name : EmployeeTest.java
public class EmployeeTest {
public static void main(String [] args) {
// TODO Auto-generated method stub
Employee e1, e2, e3;
e1 = new Employee("김철수" , 35000 );
e2 = new Employee("신짣구" , 135000 );
e3 = new Employee("신형만" , 135000 );
int n = Employee.getCount();
System .out .println ("직원 수 [" + n + "] 직원 총 월급 [" + Employee.TotalSalary() + "원]" );
}
}
cs
실행화면
댓글 0