static 키워드


1. 정적 요소를 지정할 때 사용하는 키워드.

2. 클래스의 멤버는 두 종류가 있다.

인스턴스 멤버 - 멤버 정의시 static 키워드가 없는 경우
스태틱 멤버 - 멤버 정의시 static 키워드가 있는 경우


인스턴스, 스태틱 멤버 선언 예)

public class Test{
public int max;  // 인스턴스 멤버
public static int min;  // 스태틱 멤버

public void method1() { // 인스턴스 멤버
}

public static void method2() { // 스태틱 멤버
}
}


3. 

인스턴스 멤버는 객체 생성시 독립적으로 활동 상태 유지가 가능하다.
객체마다 고유한 값을 유지할 때 사용한다.

스태틱 멤버는 객체 생성과 무관하게 동일한 상태를 유지한다.
객체간의 공유하고자 하는 값을 유지할 때 사용한다.


4.

실행시 메모리 적재는 스태틱이 먼저되고, 인스턴스 멤버는 객체 생성후에만 생성된다.


스태틱 멤버 -> 객체 생성 -> 인스턴스 멤버 적재

스태틱 멤버 -> 인스턴스 멤버에 객체 생성 후에만 접근 가능
인스턴스 멤버 -> 스태틱 멤버에 언제든지 접근 가능



5.

인스턴스 멤버는 객체 소멸시 같이 소멸됨.
스태틱 멤버는 프로그램이 종료되어야 소멸된다. (* 스태틱 멤버는 프로그램이 종료되기 전까지 메모리를 항상 차지함)



6.
인스턴스 멤버 접근 방법

클래스명 객체변수 = new 클래스명();
객체변수.인스턴스멤버;

스태틱 멤버 접근 방법
클래스.스태틱멤버;

단, 클래스 내부에서 서로 접근하는 경우는 객체변수나 클래스명 등을 생략할 수 있다.






멤버 접근 테스트 예제







스태틱 멤버에서 값 공유 테스트





문제) 국,영,수 점수를 입력 받아서 총점, 평균, 판정 결과 출력. 클래스 이용.
판정 기준은 
합격 -> 과목별로 40점 이상이면서, 평균이 60점 이상.
과락 -> 과목중 40점 미만이 있고, 평균이 60이상.
불합격 -> 평균이 60점 미만

평균이 60점 이상 -> 합격 또는 과락 -> 국영수 점수가 모두 40점 이상인지 확인.
평균이 60점 이하 -> 불합격

실행 예)
국어(0~100)?XX
영어(0~100)?YY
수학(0~100)?ZZ

입력받은 점수 : 국어 xx점, 영어 xx점, 수학 xx점
총점: xxxx
평균: xxx.x
판정: 합격






문제) 여러명의 국,영,수 점수를 입력 받아서 총점, 평균, 판정 결과 출력. 클래스 이용.
판정 기준은 
합격 -> 과목별로 40점 이상이면서, 평균이 60점 이상.
과락 -> 과목중 40점 미만이 있고, 평균이 60이상.
불합격 -> 평균이 60점 미만

평균이 60점 이상 -> 합격 또는 과락 -> 국영수 점수가 모두 40점 이상인지 확인.
평균이 60점 이하 -> 불합격

실행 예)
인원수 입력(1~10)?2
성적 입력(이름 국어 영어 수학)?hong 100 100 100
성적 입력(이름 국어 영어 수학)?kim 80 90 80
------------------------------------------
이름  국어  영어  수학  총점   평균   판정
------------------------------------------
hong   100   100   100   300  100.0   합격
kim     80    90    80    ..    ..    합격
------------------------------------------






문제) 여러명의 국,영,수 점수를 입력 받아서 총점, 평균, 판정, 등수 결과 출력. 클래스 이용.
판정 기준은 
합격 -> 과목별로 40점 이상이면서, 평균이 60점 이상.
과락 -> 과목중 40점 미만이 있고, 평균이 60이상.
불합격 -> 평균이 60점 미만

평균이 60점 이상 -> 합격 또는 과락 -> 국영수 점수가 모두 40점 이상인지 확인.
평균이 60점 이하 -> 불합격

실행 예)
인원수 입력(1~10)?2
성적 입력(이름 국어 영어 수학)?hong 100 100 100
성적 입력(이름 국어 영어 수학)?kim 80 90 80
-------------------------------------------------
이름  국어  영어  수학  총점   평균   판정   등수
-------------------------------------------------
hong   100   100   100   300  100.0   합격    1등
kim     80    90    80    ..    ..    합격   10등 
-------------------------------------------------






문제) 여러명의 국어, 영어, 수학 점수를 입력 받아서 총점, 평균, 판정, 등수, 과목별 판정 결과 출력. 배열, 클래스 이용.

판정 기준은
합격 -> 과목별로 40점 이상이면서, 평균이 60점 이상
과락 -> 과목중에 40점 미만이 있고, 평균은 60점 이상
불합격 -> 평균이 60점 미만

평균이 60점 이상 -> 합격
평균이 60점 미만 -> 불합격

합격 또는 과락 구분은 -> 국어, 영어, 수학 점수가 모두 40점 이상인 확인.

과목별 판정 기준은
90점 이상은 A
80점 이상은 B
70점 이상은 C
60점 이상은 D
60점 미만은 F

실행 예)
인원수 입력(1~10)?2
성적 입력(이름 국어 영어 수학)?hong 100 100 100
성적 입력(이름 국어 영어 수학)?kim 80 90 80
-----------------------------------------
이름 국어 영어 수학 총점 평균 판정  등수
-----------------------------------------
hong 100(A)  100(A)  100(A)  300  100.0 합격  1
kim   80(B)   90(A)   80(B)  ..    ..   합격  2
-----------------------------------------



WRITTEN BY
빨강꼬마

,