A repository of code to help understand OOP. Run the Main.main() method to try it out.
The game is missing a single piece before it is complete, the detection of a win state of the grid.
The tic-tac-toe game does NOT use inheritance(explicitly) , interfaces, abstract classes or any of that fancy stuff. It is simply made of classes (components) that make a whole by being used in a certain way.
Do not quote me, but IMHO the tic tac toe game would maybe be 20/30 - 25/30 for the Java semester work. :)