オブジェクト指向は、子どものころよくやっていたカードゲームにているなぁと思うのです。
たとえば、1枚1枚のカードって、カプセル化されていているメソッドみたい。 カードの効果がほかのカードの効果を変えたりしないけど、場やマナに与える影響・効果が組み合わさって、コンボになる。
コンボとは、1枚1枚、非力にみえるカードを組み合わせてより強力な流れをつくること。 これは、オブジェクト指向でいうクラスであり、有名なコンボは、デザインパターン。僕の中で、オブジェクト指向は、そういう理解。
プログラミングするとき、メソッドをカードゲームの1枚のカードだなって思いはじめたら、 なんとなく、気が楽になったというか、指針ができて、迷いが減ったというか。
カードゲームやってたころ、そういえば、よく自分でカードゲームを設計してみたいなぁと思っていたけれど、 ちょっと夢がかなっているのかもなぁって、思った。