개인공부

생성자 문제출제

리승우 2022. 10. 2. 23:56
package test1;

// 1. 실행시켰을 시 출력값은?

class Case1 {
    int a = 10;
    int b = 20;


    Case1(int num1, int num2) {
        a = num1;
        b = num2;
    }
}

public class question1 {
    public static void main(String[] args) {
        Case1 case1 = new Case1(30, 40);

        System.out.println(case1.a);
        System.out.println(case1.b);
    }
}


 

 

package test2;

class Case1{
    int a = 10;
    int b = 20;

  /*
  1. 하단 main함수에서 컴파일 오류를 내지않기 위해 해당 부분에
  적어야하는 가장 적절한 코드 내용은?

  2. 1번 코드를 적은 뒤, 실행시키면 출력될 결과값들은?

  3. 왜 1번 코드를 씀으로써 오류가 사라졌는지 설명하시오.
  */

    Case1(int b){
        this.b = b;
    }
}



public class question2 {
    public static void main(String[] args){
        Case1 C1 = new Case1();  -> 이 부분에서 오류 발생하였음!!!

        System.out.println(C1.a);
        System.out.println(C1.b);

        Case1 C2 = new Case1(2);

        System.out.println(C2.a);
        System.out.println(C2.b);

    }
}

 

package test3;

class Case1 {
    String studyGroup;
    String name;
    int age;
    String address;

    Case1() {}

    Case1(String studyGroup) {
        this(studyGroup, "이승우");
    }

    Case1(String studyGroup, String name) {
        this.studyGroup = studyGroup;
        this.name = name;
    }

//    4번 문제 생성자 답안을 여기 작성해주세요. ※ this() 문법을 사용해서 생성자를 작성하시오.
    Case1(String studyGroup, String name, int age){
    ( 이 부분에 들어갈 this() 코드는? )
    }
    
    Case1(String studyGroup, String name, int age, String address) {
        this.studyGroup = studyGroup;
        this.name = name;
        this.age = age;
        this.address = address;
    }
}

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

    Case1 c1 = new Case1();
//      1. 아래 코드의 출력값은?
        System.out.println(c1.address);
        System.out.println("--------------");

//      2. 아래 코드의 출력값은?
    Case1 c2 = new Case1("테즈먼해");
        System.out.println(c2.studyGroup);
        System.out.println(c2.name);
        System.out.println(c2.age);
        System.out.println(c2.address);
        System.out.println("--------------");

    Case1 c3 = new Case1("테즈먼해","이승우",28,"경기도");
//      3. 아래 코드의 출력값은?
        System.out.println(c3.studyGroup);
        System.out.println(c3.name);
        System.out.println(c3.age);
        System.out.println(c3.address);
        System.out.println("--------------");


    Case1 c4 = new Case1("테즈먼해", "이승우", 28);
        System.out.println(c4.studyGroup);
        System.out.println(c4.name);
        System.out.println(c4.age);
        System.out.println(c4.address);

    /* 4.아래와 같이 출력되기 위해, 생성자를 어떻게 작성해야하는가? ※ this() 문법을 사용해서 생성자를 작성하시오.
      c4 ▼객체의 출력값 ▼
        테즈먼해
        이승우
        28
        강원도
    */


    }
}