Setting a function or variable to private will restrict its use/access outside of its owning class/blueprint.
The function/variable still exists and can be used/modified but only by its owning class.
Setting something to public gives full access as long as you have a reference to it.