Мой вопрос в следующем : Как работает эта часть кода -
printIdea(new Idea());  //назначаем новый объект класса Idea, под названием idea
И эта часть -
public void printIdea(Idea idea) {  //объявляем объект класса Idea под названием idea
Какой смысл в том, что бы назначать одну часть "Idea idea" в качестве параметра метода printIdea, а другую "new Idea" объявлять в этом же методе printIdea? В интернете по обучающим материалам нигде не написано об этом. Как это работает? И я не понял еще одну часть -
public String getDescription();
Почему именно он, а не обычный метод который возвращает значение? Сеттеры присваивают, геттеры получают, но зачем нам что-то получать, если он все равно возвращает? Я просто привык к тому, что геттеры и сеттеры совместно работают в коде, теперь вижу что нет. Думал что геттеры и сеттеры связаны нераздельно в работе, одного не может быть.