سلام
منظور شما اینه که چرا از case class استفاده میشه نه class معمولی؟
یا اینکه چرا علاوه بر کلاس table باید یک کلاس دیگری هم وجود داشته باشه؟ مثلا Person و PersonTable
اگر مورد اول منظور شما هست در واقع باید گفت فرقی نمیکنه و میتونید از هر جفتش استفاده کنید. اما چون case class ها به طور پیش فرض apply و unapply دارند و اینکه میشه برای pattern matching هم ازشون استفاده کرد کار کردن باهاشون راحت تره.
اما در مورد دومی هم باید گفت که مثلا کلاس PersonTable در مقایسه با Person پیچیدگی های بیشتری داره و چیزی نیست که برنامه نویس بخواد مستیقما باهاش کار کنه. میشه گفت صرفا واسطی هست بین دیتابیس و Slick که ویژگی ها و کیفیت یک مدل داخل اون تعریف میشه و براساس اون هست که Slick ساختار مدل رو تشخیص میده و با دیتابیس کار میکنه.
در نهایت هم توسط Slick و mapping function ای که شما به Slick دادید Person از دیتابیس بازخوانی میشه و برنامه نویس میتونه باهاش کار کنه.