• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

static에 관한 질문이 있습니다.

20.05.31 22:02 작성 조회수 274

16

안녕하세요 강의를 시청하고 있는 학생입니다. 

교수님께서 CreateMemberResponse와 CreateMemberRequest 클래스들을 static 으로 만드셨는데 혹시 어떤이유에서 static 선언을 하신건가요???

항상 유익한 강의를 만들어주셔서 감사합니다

답변 1

답변을 작성해보세요.

14

안녕하세요. RIN님

내부 클래스에 static을 선언하지 않으면 MemberController 클래스 외부에서 이 객체를 직접 생성할 수 없습니다.

Response는 클래스 내부에서 생성해서 반환하기 때문에 static이 없어도 됩니다.

반면에 Request는 클래스 외부에서 생성해서 들어오기 때문에 static이 없으면 객체를 생성할 수 없습니다.

public class ClassA {

    class ClassAInner {
    }
}

public class ClassB {

    public static void main(String[] args) {
        ClassA classA = new ClassA();
        ClassA.ClassAInner classAInner = new ClassA.ClassAInner();  //컴파일 오류
    }
}

감사합니다^^