protected function parse(): void
    {
        list('year' => $year, 'month' => $month, 'day' => $day) = self::validate($this->birthday);
        $this->birthday = sprintf('%d-%02d-%02d', $year, $month, $day); // normalize the date
        $this->age = self::calculateAge($year, $month, $day);
        $this->constellation = self::parseConstellation($month, $day);
    }