Вам нужны оба, но они выполняют разные действия, ваш конструктор выполняется во время создания объекта посредством вызова new, но для некоторого типа объектов, где вы не контролируете их создание, или вы предпочитаете выполнить некоторые код не только после того, как объект создан, но и полностью инициализирован, тогда вам нужен специальный метод, который кто-то собирается вызвать, чтобы сообщить, что объект готов.
Это особенно касается объектов, которые управляются не вами, а сервером, инфраструктурой или теми, кто управляет этими объектами.
Вы должны видеть эти методы как товар, предоставленный вам в верхней части кода, который этот объект будет выполнять в конструкторе