ヘッダファイルに...

@interface ViewController : UIViewController
@end

という初期状態で

int hoge ;

と書くと、 「変数宣言してんじゃねぇよボケ」と怒られる。
だけど、

@interface ViewController : UIViewController
{
int hoge;
}
@end

とすると怒られなくなる。

なんで?というか、そもそも初期状態で
{
}

がないのはなぜ?

違いがわからん....