24.03.19 12:57 작성
·
209
0
얕은 복사 vs 깊은 복사 #1 15:50
에서
생성자 안에서 new를 하는 건 안 좋은 습관이라고 하셨는데 그 이유가 무엇인가요?
답변 1
0
아 제가 말한 오버로딩 시 생길 수 있는 문제는 빌더패턴과 관련된 부분입니다.
특정 값만 원하는 방식으로 초기화해주기 위해서 생성자를 오버로딩하게 되는데
그런 상황이 여러가지라면 그 상황에 맞는 생성자를 계속 만들어줘야 하지만
모든 상황에 맞게 생성자를 생성하는 것도 한계가 있기 때문에
생성자를 호출할 때 생성자(100, 0, 200, 300, 0, 400) 과 같이 매개변수들 중간에
초기화 시켜주지 않는 부분은 0으로 비워준 채로 사용하게 되는 경우가 생길 수도 있겠죠.
이런 문제들을 빌더패턴 이라는 걸 활용해서 해결합니다.
이 부분은 강사님 말씀의 의도랑 다른 부분인거 같은데 이렇게 답해버렸네요.
2024. 03. 20. 09:31
음... C++ 11에서는 생성자에서 다른 생성자를 호출해주는 기능이 있는 것으로 알기 때문에 특정 값만 원하는 방식으로 초기화하고 공통된 부분은 기본 생성자에서 처리하는 등 생성자 오버로딩 시에도 큰 문제가 없다고 생각했습니다.
혹시 오버로딩 시 생길 수 있는 문제가 어떤 것인지 구체적으로 말씀해주실 수 있을까요?