4.8 static 멤버
1. static 멤버의 선언
-> non-static 멤버와 static 멤버의 차이점
non-static 멤버 | static 멤버 | |||
선언 | ||||
공간적 특성 | 인스턴스 멤버라고 부름 | 멤버는 별도의 공간에 생성 | ||
시간적 특성 | 객체가 생길 때 멤버도 생성 | 객체가 생기기 전에 이미 생성 멤버는 프로그램이 종료될 때 사라짐 |
||
공유의 특성 |
2. static 멤버의 생성과 활용
1) 객체.static 멤버
-> static 멤버의 생성
-> static 멤버 접근
-> static 멤버의 공유
<그림 4-35 참고>
2) 클래스명.static 멤버
<그림 4-36 참고>
3. static의 활용
1) 전역 변수와 적연 함수를 만들 때 활용
2) 공유 멤버를 만들고자 할 때 활용
4. static 메소드의 제약 조건
-> static 메소드는 static 멤버만 접근할 수 있다
-> static 메소드는 this를 사용할 수 없다
// 예제 4-12 : static을 이용한 환율 계산기
import java.util.Scanner;
class CurrencyConverter{
private static double rate;
public static double toDollar(double won) {
return (won/rate);
}
public static double toKWR(double dollar) {
return (dollar*rate);
}
public static void setRate(double r) {
rate = r;
}
}
public class StaticMember {
public static void main(String[]args) {
Scanner sc = new Scanner(System.in);
System.out.print("환율(1달러)>> ");
double rate = sc.nextDouble();
CurrencyConverter.setRate(rate);
System.out.println("백만원은 $" + CurrencyConverter.toDollar(1000000) + "입니다.");
System.out.println("$100는 " + CurrencyConverter.toKWR(100) + "원입니다.");
sc.close();
}
}
4.9 final
-> final 클래스
-> final 메소드
-> final 필드
출처: 명품 JAVA Programming(개정 5판), 생능출판사
'학교 > 2-2학기(Java)' 카테고리의 다른 글
[8주차] 10/21(월) 강의내용 (0) | 2024.10.21 |
---|---|
[7주차] 10/16(수) 강의내용 (1) | 2024.10.16 |
[6주차] 10/7(월) 강의내용 (0) | 2024.10.07 |
[5주차] 10/2(수) 강의내용 (1) | 2024.10.02 |
[5주차] 9/30(월) 강의내용 (0) | 2024.09.30 |
댓글