Иными словами статичиские методы - это то, что не относится к объектам. Это конструкция класса. Если ты не создал ни одного экземпляра класса, они могут работать - стат. функции - это как просто функция, не привязанная ни к чему, просто входит в состав класса для удобства поиска, логического разделения или просто маразма от.
Нестатические функции - это то, что работает с конкретными экземплярами класса, с объектами. Конкретные экземпляр класса "a" может иметь свое значение $x и нестатические методы работают с данными именно этого объекта. В то время как попроси статическую функция вывести переменную $x объекта
PHP:
скопировать код в буфер обмена
class a{
public $x = 10;
public function fa(){
echo $this->x;
}
}
$a1 = new a();
$a2 = new a();
$a2->x = 5;
$a3 = new a();
$a3->x = 58;
a::fa();
Про память лучше не спрашивай, весть пых написан на своем си-говно-фреймворке со своим подсчетом ссылок, выделением памяти и прочим, там много структур разных и ответ на твой вопрос зависит от многих факторов - пока не заморачивайся. Если реально будет интересно - открывай исходники и смотри, на форуме ты не найдешь человека, который тебе на подобные вопросы ответит.