인프런 커뮤니티 질문&답변

양동우님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

회원 등록 API

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

20.05.31 22:02 작성

·

328

16

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

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

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

답변 1

14

김영한님의 프로필 이미지
김영한
지식공유자

2020. 05. 31. 22:10

안녕하세요. 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();  //컴파일 오류
    }
}

감사합니다^^