トランプゲームを作るとして,
PlayerクラスとDeckクラス(場の山)があるとして,
Playerオブジェクトにカードを一枚ドローさせたいとする.

このときPlayerオブジェクトが,その内部に他のPlayerオブジェクトと共有する形でDeckオブジェクトを持っていると,
player1.draw()とやるだけでカードが一枚取得できるので嬉しいのですが,
OOP的にこれはアリですか?

現実に照らしあわせて考えると,,人(Player)は場の山(Deck)を直接所有しているわけではないので,
一枚カードを引くという動作は,あえていうなら player1.draw( deck.getCard() ); な感じがするんですが,
別に現実通りに構築しなくても……と思いつつも,PlayerがDeckを所有するという違和感が気になりまして.