Java/기본 프로그래밍
[JAVA] static 멤버 ( static 멤버와 static 멤버 활용 )
KR_Jimi
2024. 2. 9. 23:48
static 멤버
- 객체 생성 없이도 사용가능한 멤버이다.
- 클래스 당 하나만 생성되는 멤버이다.
- 클래스 로딩시에 멤버가 생성된다.
static 멤버의경우 여러 멤버들과 공유될 수 있다.
예시
전역 함수로 작성하고자 하는 abs,max,min의 3개의 함수를 static 메소드로 작성하고 호출하는 사례를 보여라.
class Calc{
public static int abs(int a) {
return a>0?a:-a;
}
public static int max(int a, int b) {
return (a>b)?a:b;
}
public static int min(int a, int b) {
return (a>b)?b:a;
}
}
public class CalcEx {
public static void main(String[] args) {
System.out.println(Calc.abs(-5));
System.out.println(Calc.max(10,8));
System.out.println(Calc.min(-3,-8));
}
}
실행결과
5
10
-8
예시
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 scanner = new Scanner(System.in);
System.out.print("환율(1달러)>> ");
double rate = scanner.nextDouble();
CurrencyConverter.setRate(rate);
System.out.println("백만원은 $" + CurrencyConverter.toDollar(1000000)+"입니다.");
System.out.println("$100는 "+ CurrencyConverter.toKWR(100)+ "원입니다.");
scanner.close();
}
}
실행결과
환율(1달러)>> 1332
백만원은 $750.7507507507507입니다.
$100는 133200.0원입니다.