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원입니다.
'Java > 기본 프로그래밍' 카테고리의 다른 글
[JAVA] 메소드 활용 ( 메소드 형식, 인자 전달 방식 ) (0) | 2024.02.07 |
---|---|
[JAVA] 객체 배열 ( 객체 배열 개념 ) (0) | 2024.02.06 |
[JAVA] 생성자 ( 생성자, this 레퍼런스 ) (1) | 2024.02.05 |
[JAVA] 클래스와 객체 ( 객체지향, 클래스 객체 생성 및 활용 ) (0) | 2024.02.02 |
[JAVA] 예외 처리 ( try catch finally 문 ) (0) | 2024.01.31 |