georgiy_yaУ этих терминов разное семантическое значение. Объект в ООП - это некая сущность, обладающая свойствами и методами. Экземпляр - это переменная некоего типа полученная инстанциированием класса этого типа (вызовом конструктора). Фактически, объект не обязательно является экземпляром класса. Это зависит от конкретной реализации. Например, в питоне каждый объект - это экземпляр какого-то класса. Но в JavaScript (с определенными допущениями) объект можно создать не вызывая конструктор какого-то класса
А насчёт объектов и экземпляров?
var a = {foo: "bar"}
В Джаве можно на лету создать безымянный класс и инстациировать его. Если этот объект мы передадим в другой метод, то информацию о классе потеряем, у нас получится объект реализующий некий контракт, но у нас нет класса экземпляром которого он является.
int weight = point.doWithPredicate(new PredicateInterface(){
int calculate(Point p){
return p.getX() + p.getY()
}
})