JAVA(Sol)(정리대기중..언젠가)

210419_7~8 (생성자오버로딩)

너굴셉 2021. 4. 19. 17:32

생성자 일반

 

1. 클래스안에 생성자가 여러개 정의되어있으면 그것은 생성자 오버로딩이라고 말한다.

  오버로딩(overload과부화) : 동일 클래스 내에서 같은 이름의 함수를 인자의 갯수와 형을 달리하면서

                                     여러번 정의 하는것. 즉, 같은이름의 함수로 여러가지 일을 처리할수있도록 하는것.

----------------------------

classA {

 add(int i) { }

 add(int i, int j){ }

 add(int i, float j) { }

}

-----------------------------

 

2. 생성자는 인스턴스를 생성하는데 관여하므로 생성자가 여러개있다라는 것은

결국 인스턴스를 생성하는 방법이 여러개라는 뜻이다.

 

----------------------------클래스 변수

주로 상수를 만들때 많이 사용한다. 초기값을 가지고있다.

  static int age = 99;

상수키워드 final <== 값을 변경할수없다.

 

-----------------------------클래스static 메서드

주로 빠른 처리(응답)를 요구하는 메서드는 static을 붙인다.

또는 별다른 기능없이 스탬프처럼 출력하는 메서드에서 사용한다.

 Integer. it = new Integer()

            it.parseInt("") <== 시간도 더 걸리고 불편하다

ex) Integer.parseInt("10000);

 

package chapter9;

class ScjpPass {
	int t1 = 0;
	int t2 = 0;
	int t3 = 0;
	int t4 = 0;

	static int BONUS = 100; // class변수

	public ScjpPass() { //기본생성자
	}

	// 생성자 오버로딩
	public ScjpPass(int t1, int t2, int t3, int t4) {
		this.t1 = t1;
		this.t2 = t2;
		this.t3 = t3;
		this.t4 = t4;
	}
}

public class Scjp {
	public static void main(String[] args) {
		System.out.println("ScjpPass.BONUS" + ScjpPass.BONUS);
		ScjpPass sp = new ScjpPass(85, 90, 80, 70);
		System.out.println("sp.t1:" + sp.t1);
		System.out.println("sp.t2:" + sp.t2);
		System.out.println("sp.t3:" + sp.t3);
		System.out.println("sp.t4:" + sp.t4);

	}

}
package chapter9;

class SCWCD {
	int t1 = 0;
	int t2 = 0;
	int t3 = 0;
	int t4 = 0;
	static int BONUS = 100;

	public SCWCD() {
	}

	public SCWCD(int t1, int t2, int t3, int t4) {
		this.t1 = t1;
		this.t2 = t2;
		this.t3 = t3;
		this.t4 = t4;
	}

	public String pass() {
		String msg = null;
		if (t1 >= 65 && t2 >= 65 && t3 >= 65 && t4 >= 65) {
			msg = "축하합니다. 합격입니다.";
		} else {
			msg = "미안합니다. 불합격입니다.";
		}
		return msg;
	}

	public static void prLine() {// static 메서드 =>주로 빠른처리를 요구할때
		System.out.println("***************");
		System.out.println("    STUDY     ");
		System.out.println("      JAVA    ");
		System.out.println("***************");
	}
} // class

public class SCWCDmain {
	public static void main(String[] args) {
		SCWCD sc = new SCWCD(100, 80, 70, 80);
       	System.out.println(sc.pass());

		
		SCWCD.prLine();
		// 축하합니다. 합격입니다 라고 출력되도록 코딩하세요

	}

}