Java

[Java] 클래슀 λ©”μ„œλ“œ

μ½”λ”©ν•˜λŠ” λΆ•μ–΄ 2021. 2. 18. 05:24
λ°˜μ‘ν˜•

β–Ά 클래슀 λ©”μ„œλ“œ

static λ³€μˆ˜λ₯Ό μœ„ν•œ λ©”μ„œλ“œλ₯Ό 'static λ©”μ„œλ“œ' λ˜λŠ” '클래슀 λ©”μ„œλ“œ' 라고 ν•œλ‹€.

package staticex;

public class Student2 {

	private static int serialNum = 1000;
	int studentID;
	String studentName;
	int grade;
	String address;

	public Student2() {
		serialNum++;
		studentID = serialNum;
	}

	public String getStudentName() {
		return studentName;
	}

	public void setStudentName(String name) {
		studentName = name;
	}

	public static int getSerialNum() {  // serialNum의 get() λ©”μ„œλ“œ
		int i = 10;
		return serialNum;
	}

	public static void setSerialNum(int serialNum) {  // serialNum의 set() λ©”μ„œλ“œ
		Student2.serialNum = serialNum;
	}
}

-μ—¬κΈ°μ„  this μ˜ˆμ•½μ–΄ μ‚¬μš© λΆˆκ°€λŠ₯.

​

 

package staticex;

public class StudentTest4 {
	public static void main(String[] args) {

		Student2 studentLee = new Student2();
		studentLee.setStudentName("이지원");
		System.out.println(Student2.getSerialNum()); // serialNum κ°’ κ°€μ Έμ˜€κΈ° μœ„ν•΄ get λ©”μ„œλ“œλ₯Ό 클래슀 μ΄λ¦„μœΌλ‘œ 직접 호좜 
		System.out.println(studentLee.studentName + " ν•™λ²ˆ:" + studentLee.studentID);

		Student2 studentSon = new Student2();
		studentSon.setStudentName("μ†μˆ˜κ²½");
		System.out.println(Student2.getSerialNum());  // serialNum κ°’ κ°€μ Έμ˜€κΈ° μœ„ν•΄ get λ©”μ„œλ“œλ₯Ό 클래슀 μ΄λ¦„μœΌλ‘œ 직접 호좜
		System.out.println(studentSon.studentName + " ν•™λ²ˆ:" + studentSon.studentID);
	}
}

<κ²°κ³Όκ°’>

-static λ©”μ„œλ“œ λ˜ν•œ static λ³€μˆ˜μ²˜λŸΌ μΈμŠ€ν„΄μŠ€ μ°Έμ‘° λ³€μˆ˜κ°€ μ•„λ‹Œ 클래슀 μ΄λ¦„μœΌλ‘œ 직접 ν˜ΈμΆœν•  수 μžˆλ‹€.

 

 

 

μ‹€μŠ΅) ν•™μƒλ§ˆλ‹€ 각각 λ‹€λ₯Έ 학생 μΉ΄λ“œκ°€ λ°œκΈ‰λ©λ‹ˆλ‹€. 학생 μΉ΄λ“œ λ²ˆν˜ΈλŠ” ν•™λ²ˆμ— 100을 λ”ν•œ κ°’μž…λ‹ˆλ‹€. Student3 클래슀λ₯Ό λ§Œλ“€μ–΄ 학생 μΉ΄λ“œ 번호 멀버 λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜κ³ , 학생이 생성될 λ•Œλ§ˆλ‹€ 학생 μΉ΄λ“œ 번호λ₯Ό λΆ€μ—¬ν•©λ‹ˆλ‹€. StudentTest6 클래슀λ₯Ό λ§Œλ“€μ–΄ 학생 두 λͺ…을 μƒμ„±ν•©λ‹ˆλ‹€. 두 ν•™μƒμ˜ μΉ΄λ“œ 번호λ₯Ό 좜λ ₯ν•΄ λ³΄μ„Έμš”.

package staticex;

public class Student3 {

	private static int serialNum = 1000;
	int studentID;
	String studentName;
	int grade;
	String address;
    int studentCardNum;

	public Student3() {
		serialNum++;
		studentID = serialNum;
        studentCardNum = serialNum+100;
	}

	public String getStudentName() {
		return studentName;
	}

	public void setStudentName(String name) {
		studentName = name;
	}

	public static int getSerialNum() {
		int i = 10;
		return serialNum;
	}

	public static void setSerialNum(int serialNum) {
		Student3.serialNum = serialNum;
	}

    public int getStudentCardNum() {
		return studentCardNum;
	}

	public void setStudentCardNum(int studentCardNum) {
		this.studentCardNum = studentCardNum;
	}
}
package staticex;

public class StudentTest6 {
	public static void main(String[] args) {

		Student3 studentLee = new Student3();
		studentLee.setStudentName("이지원");
		System.out.println(Student3.getSerialNum()); 
		System.out.println(studentLee.studentName + " ν•™λ²ˆ:" + studentLee.studentCardNum);

		Student3 studentSon = new Student3();
		studentSon.setStudentName("μ†μˆ˜κ²½");
		System.out.println(Student3.getSerialNum());
		System.out.println(studentSon.studentName + " ν•™λ²ˆ:" + studentSon.studentCardNum);
	}
}

<κ²°κ³Όκ°’>

​

λ°˜μ‘ν˜•