今このようなコードを書いたのですが、Carクラスそれ自体が「Carクラスのリスト」を持つのは変だと知人に言われたのですが、コマンド入力のコードはmain関数のみに書くのと同様、普通はそのようには書かないのでしょうか?

public class Car{
     ArrayList<Car> list;
     String plate, brand;
     int year;


    Car(){
    list = new ArrayList<Car>();
    plate = null;
    brand = null;
    year = 0;
   }

public void add(String[] sp) {
    int year = Integer.parseInt(sp[3]);
    list.add(new Car(sp[1], sp[2], year));
}

}

public class Main {
public static void main(String[] args) throws IOException {

    Car c = new Car();

    while(true) {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();

        String[] sp = s.split(" ");


        if(sp[0].equals("add")) {
            c.add(sp);
        }
}