初歩的な設計に関する質問なのですが
class A{
private final string hoge;
public A(hoge){
this.hoge = hoge;
}
public int piyo(){
hogeを使った何らかの操作
}
}

というのと

class A{
public int piyo(hoge){
hogeを使った何らかの操作
}
}

処理のインプットがコンストラクタ(メンバ変数)かメソッドの引数かの違いだけでやれることは同じだと思うのですが、
クラスがデータ構造を表すものだとすると前者の方が正しいような気がするのですが(後者は処理をクラスに書いただけなので良くない?)、
hogeを保持しておく意味もあまり無いかなという気もして、オブジェクト指向というものがよくわからなくなってしまいます。


書籍の紹介などでもいいので
何か指針のようなものを教えていただきたいです。