Open hj-k66 opened 2 months ago
p576에서 생성자에서 예외가 발생할 수도 있는 복잡한 초기화 작업을 다루는 것은 좋지 않다고 설명합니다. 이에 따라 별도의 초기화 메소드를 사용하는 것이 바람직하다고 하는데, 이 두 방법의 차이가 뭔지, 왜 생성자에서 초기화 작업을 하면 안되는지가 잘 이해가 안갑니다. 다른 분들은 어떻게 이해하셨는지 궁금합니다!
저는 생성자에서 예외가 발생할 시에 해당 객체 생성 후 init~~ 함수를 바로 호출하여 초기화 하는 것으로 이해하였습니다. 생성자에서 예외가 발생했을 경우에 다음과 같은 문제가 발생할 것 같습니다.
클라이언트에서 예외가 발생하는지를 알아차리지 못할 수 있다는 불완전성 때문에 생성자에서 예외가 발생할 수 있는 일은 피하는 것이 좋다!
p576에서 생성자에서 예외가 발생할 수도 있는 복잡한 초기화 작업을 다루는 것은 좋지 않다고 설명합니다. 이에 따라 별도의 초기화 메소드를 사용하는 것이 바람직하다고 하는데, 이 두 방법의 차이가 뭔지, 왜 생성자에서 초기화 작업을 하면 안되는지가 잘 이해가 안갑니다. 다른 분들은 어떻게 이해하셨는지 궁금합니다!