Yeon93
1k
2019-10-01 11:38:35
5
153

Java 질문입니다~~


1. 이 코드를 돌리면 결과값이

public class MainClass {
    public static void main(String[] args) {
        ChildClass child1 = new ChildClass();
        child1.setInfo("Soojin", "W", 20);
        child1.getInfo();
    }
}
public class ChildClass {

    public String name;
    public String gender;
    public int age;

    public ChildClass() {
        System.out.println("-- ChildClass constructor --");
    }

    public void setInfo(String n, String g, int a) {
        name = n;
        gender = g;
        age = a;
        System.out.println("--setInfo() START -- ");
    }

    public void getInfo() {
        System.out.println("--getInfo() START -- ");

        System.out.println("name : " + name);
        System.out.println("gender : " + gender);
        System.out.println("age : " + age);
    }
}
-- ChildClass constructor --
--setInfo() START -- 
--getInfo() START -- 
name : Soojin
gender : W
age : 20

이렇게 나오고요.



2. 첫번째 MainClass에서 getinfo를 주석처리하면

public class MainClass {
    public static void main(String[] args) {
        ChildClass child1 = new ChildClass();
        child1.setInfo("Soojin", "W", 20);
//        child1.getInfo();
    }
}
-- ChildClass constructor --
--setInfo() START -- 

이렇게 나오고요.



궁금한게 MainClass에서 단순히 getInfo를 주석처리 했는데, 아무런 결과값이 나오지 않는 것은

ChildClass에서 setInfo가 getInfo로 파라미터를 받아서, 매소드로 넘겨주는건가요??

0
0
  • 답변 5

  • 유리세계
    2k
    2019-10-01 11:41:22

    getInfo 메서드가 온전히 보시면 알겠지만...

    그냥 출력입니다

    파라미터를 받아서 뭐고 하는게 아니에요

    setInfo 하는 순간 파라미터는 세팅이 되어있고, 출력을 하지 않으셨기 때문에 보이지 않는것 뿐입니다

    1
  • 바히
    553
    2019-10-01 11:42:07

    이클립스에서 RUN 하였을 때 실제로 실행되는 부분은 main 메소드만 실행이 됩니다.

    1
  • olivvve
    687
    2019-10-01 11:42:17

    getInfo가 실행되지 않으니 getInfo 메소드에 있는 sysout 들이 실행되지 않는게 맞는데.. 질문의 의도를 잘 모르겠네요..

    1
  • Yeon93
    1k
    2019-10-01 11:43:13

    유리세계 /// 그러네요..그냥 setInfo에 넣어버리까 되긴 하네요...감사드립니다!

    public void setInfo(String n, String g, int a) {
            System.out.println("--setInfo() START -- ");
            name = n;
            gender = g;
            age = a;
            System.out.println("name : " + name);
            System.out.println("gender : " + gender);
            System.out.println("age : " + age);
        }


    0
  • Yeon93
    1k
    2019-10-01 11:47:02

    이런식으로 코드를 다 주석처리하면서 하다 보니까, 이해가 가네용

    public class ChildClass {
    
        public String name;
        public String gender;
        public int age;
    
        public ChildClass() {
            System.out.println("-- ChildClass constructor --");
        }
    
        public void setInfo(String n, String g, int a) {
            System.out.println("--setInfo() START -- ");
            name = n;
            gender = g;
            age = a;
            System.out.println("name : " + name);
            System.out.println("gender : " + gender);
            System.out.println("age : " + age);
        }
    
    //    public void getInfo() {
    //        System.out.println("--getInfo() START -- ");
    //
    //        System.out.println("name : " + name);
    //        System.out.println("gender : " + gender);
    //        System.out.println("age : " + age);
    //    }
    }


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.