более понятно для не IT шников. вот надо кого то послать нахуй, например Ивана. тут есть объект - иван, действие, и куда - нахуй, собственно действие и реализует наш класс типа tNahui и экземпляр nahui
т.е. в простейшем случае будет так: tNahui nahui(Ivan); nahui.poslat(); // когда ты рядом перед Иваном то тогда с точкой
если иван не рядом с тобой а к нему Федя пойдёт то не скажешь же ты Феде иди нахуй, ты получишь по морде от Феди (ну и от компилятора ошибку), у тебя будет указание - послать Ивана нахуй, т.е. работаем через указатель Fedya = new tNahui(Ivan); Fedya->poslat(); // когда ты далеко от ивана и даёшь указание Феде
а теперь предположим что тебе хочется узнать куда kuda() тип класса посылает. Тебе не нужен контекст и никакой иван не нужен чтоб послать, да и посылать ты не обязан никого. Ты можешь класс спросить и этот вопрос будет статичной функцией т.к. гвоздями у класса прибито это направление посыла и создавать экземпляр не нужно т.к. нет контекста. log_out(tNahui::kuda()); // Выведет в лог "нахуй"
Отличный комментарий!