Java #4-4 static 멤버

선언

class Sample
{
 static int m
 static void g() { ... }
}

공간적 특성

멤버는 클래스당 하나 생성
멤버는 객체 내부가 아닌 별도의 공간에서 생성
클래스 멤버라고 부름

시간적 특성

클래스 로딩 시에 멤버 생성
객체가 생기기 전에 이미 생성
객체가 생기기 전에도 사용 가능
객체가 사라져도 멤버는 사라지지 않음
멤버는 프로그램이 종료될 때 사라짐

공유의 특성

동일한 클래스의 모든 객체들에 의해 공유됨


/* static 필드와 메소드를 이용하여 달러와 원화를 변환해주는 환율 계산 프로그램 작성 */
class CurrencyConverter
{
private static double rate;

public static double toDollar(double won)
{
return won/rate;
}

public static double toWon(double dollar)
{
return dollar*rate;
}

public static void setRate(double rate)
{
CurrencyConverter.rate = rate;
}
}

public class StaticMember
{
public static void main(String[] args)
{
CurrencyConverter.setRate(1118.0);

System.out.println("300만원은 "
+String.format("%.1f", CurrencyConverter.toDollar(3000000))
+"달러 입니다.");
System.out.println("300달러는 "+CurrencyConverter.toWon(300)+"원 입니다.");
}
}


result)


댓글 없음: