-
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(); // 축하합니다. 합격입니다 라고 출력되도록 코딩하세요 } }
'JAVA(Sol)(정리대기중..언젠가)' 카테고리의 다른 글
210420_3~4(변수 유효범위,생성자특징) (0) 2021.04.20 210420_1~2(static변수,singleton pattern,final) (0) 2021.04.20 210419_5~6(chapter9.메모리운영,객체구별,기본생성자) (0) 2021.04.19 210419_3~4(getter,setter) (0) 2021.04.19 210419_1~2call_by_value,생성자 (0) 2021.04.19