>>426
違和感を改めて言葉で説明するはちょっと難しいな。

プログラミング言語の関数やプロシージャの実引数は、
その関数やプロシージャに「入力する」とか「挿入する」イメージがある。
戻り値は、出力とか、取り出すイメージ。

で、createData (・・・, x.getEnabled(), ・・・) だと、
get*** で取り出した値を createData の引数に入力するイメージとよく合うんだ。
取り出して入れるという一連の「処理」ね。

でも、createData (・・・, x.isEnabled(), ・・・) だと、
取り出すというイメージが乏しいじゃん。
なんというか、x is Enabled という言明で止まってしまう。
真偽値を取り出して、引数に入れるイメージとはちょっと合わない感じがする。


if (x.isEnabled()) なら別にいいんだよ。
x is Enabled という言明があって、if + 言明で、その言明が正しいなら節の中を処理する。
if 自体は関数でもプロシージャでもないからね。