ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210419_7~8 (생성자오버로딩)
    JAVA(Sol)(정리대기중..언젠가) 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();
    		// 축하합니다. 합격입니다 라고 출력되도록 코딩하세요
    
    	}
    
    }
    

     

     

Designed by Tistory.