공부/node.js
NestJS - 컨트롤러 constructor에 private readonly를 설정하는 이유
ctrs
2023. 11. 9. 22:26
메모...
정확히는 서비스에서 의존성 주입을 받은 컨트롤러의 생성자(constructor)에
public은 쓰지 않는 이유, private readonly를 쓰는 이유
결론은 클래스를 해당 컨트롤러 내에서만 사용하기 위해서이다.
타 컨트롤러가 Dependency Injection(의존성 주입)된 서비스를 사용한다는 것은 이미 목적을 벗어난 이야기이다.
의존성 주입을 했다는 것은 해당 컨트롤러 안에서만 쓰기 위해서인데,
이 클래스를 public으로 설정해 의존성 주입된 서비스를 바깥에서 쓸 이유는 없다.
바깥에서 쓰고 싶었다면 애초에 바깥에서 쓰지, 의존성 주입한 것을 바깥으로 끄집어 내서 쓰는 것은 무의미하다고 할 수 있다.