Yep, purely theoretical question. It is not really clear to me what really is going on when we create a new object from the defined class.
For instance variables it seems reasonable to create new memory locations every time because they can have different values.
But I had a thought that it wouldn't make any sense in terms of memory to copy all class's methods to new object every time. So does java actually use class methods during the method call or does it create copies of the same methods in a new object?