본문 바로가기
학교/2-2학기(Java)

[7주차] 10/14(월) 강의내용

by C0MPAS 2024. 10. 14.

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

댓글