inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 부트 - 핵심 원리와 활용

수업 자료

라이브러리 만들 때 클래스를 감추는 방법 질문

274

김가가가

작성한 질문수 32

0

라이브러리를 생성하는데 궁금한 점이 있습니다.

라이브러리 안에는 A 클래스, B 클래스가 존재하고 여기서 외부로는 B 클래스만을 밖으로 내보내고 싶다고 할때는 어떤식으로 해야할까요?

즉 A 클래스는 라이브러리 내부에서만 사용하도록 하고 B 클래스를 통해 외부에서 사용가능토록 하는 것입니다. default 접근 제어자를 생각해보았으나 라이브러리에 패키지가 여러 개일 경우 개발할 때 불편함이 있다고 생각되었습니다.

항상 좋은 강의 감사드립니다 :)

spring spring-boot prometheus grafana

답변 2

2

David

안녕하세요. 김진현님, 공식 서포터즈 David입니다.

자바 9에서 추가된 모듈에 대해 찾아보시면 말씀하신 부분을 구현할 수 있습니다:)

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

라이브러리를 개발하면서 클래스를 감추는 방법에 대해 궁금한 점이 있으신 것 같아요.

클래스를 외부에서 사용할 수 없게 하려면, 일반적으로는 접근 제어자를 이용하여 제한을 둘 수 있어요. 하지만 여러 패키지를 가진 라이브러리의 경우에는 default 접근 제어자를 사용하기에는 불편함이 있을 수 있어요.

이런 경우에는 내부 클래스를 사용해서 구현하면 됩니다. 내부 클래스는 다른 클래스의 내부에 선언되어있는 클래스로, 외부로부터 직접 접근할 수 없습니다. 이를 활용하여 A 클래스를 B 클래스의 내부 클래스로 선언하면 A 클래스는 라이브러리 외부에서 접근할 수 없도록 할 수 있습니다.

이렇게 내부 클래스로 구현하면 B 클래스를 통해 외부에서 사용할 수 있으면서, A 클래스는 내부에서만 사용되므로 외부에서는 접근할 수 없게 됩니다.

말씀하신 내용이 도움이 되었는지요. 추가적인 궁금한 점이 있으시다면 언제든지 물어보세요. 좋은 개발 공부되세요!

보안이 엄격한 데이터

0

73

1

MyProperties 자체를 클라이언트 코드에서 사용

1

43

1

http://localhost:8080/actuator/prometheus

0

85

3

jar 추가에대한 질문드려도될까요?

0

64

1

build.gradle bom link 변경

0

65

2

@Counted 초기화

0

48

1

@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..

0

101

2

springboot에서 actuator없이 micrometer를 사용할수 있나요?

0

67

1

@Configuration 질문드립니다.

0

84

2

[공유] 터미널 말고 IDE 에서 jar 실행하기

0

101

1

localhost:8080/hello-servlet 404오류

0

123

2

내장톰캣2 서블릿 톰켓 실행이 안됩니다

1

154

2

최대 Tomcat 스레드 수를 확인하는 지표

0

160

1

mac m2에서 startup.sh 실행후 아무 반응이 없습니다.

0

94

2

내장 톰캣 실행 오류 관련 질문드립니다.

0

158

1

스프링 발전 과정들도 자세히 알아둬야하나요??

1

127

1

스프링부트 ioc 컨테이너 갯수

0

89

1

404 페이지

0

133

3

actuator 호출시 타임스탬프 질문

0

90

1

순수 라이브러리 사용하기 2 - memory-v1

0

125

1

외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.

0

105

1

서블릿 컨테이너 초기화1 강의 관련 질문입니다~

0

94

1

Thread Config Max 패널 설정 변경 질문

0

128

1

스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.

0

108

1