なぜ関数の宣言と定義を分けて別々のところに書く必要があるんですか?