저장을 습관화

NestJS - 컨트롤러 constructor에 private readonly를 설정하는 이유 본문

공부/node.js

NestJS - 컨트롤러 constructor에 private readonly를 설정하는 이유

ctrs 2023. 11. 9. 22:26

메모...

 

정확히는 서비스에서 의존성 주입을 받은 컨트롤러의 생성자(constructor)에

public은 쓰지 않는 이유, private readonly를 쓰는 이유

 

결론은 클래스를 해당 컨트롤러 내에서만 사용하기 위해서이다.

 

타 컨트롤러가 Dependency Injection(의존성 주입)된 서비스를 사용한다는 것은 이미 목적을 벗어난 이야기이다.

의존성 주입을 했다는 것은 해당 컨트롤러 안에서만 쓰기 위해서인데,

이 클래스를 public으로 설정해 의존성 주입된 서비스를 바깥에서 쓸 이유는 없다.

바깥에서 쓰고 싶었다면 애초에 바깥에서 쓰지, 의존성 주입한 것을 바깥으로 끄집어 내서 쓰는 것은 무의미하다고 할 수 있다.