Bash does not have the concept of public/private functions. All functions are public. However, it's common practice (across various programming and scripting languages including Bash) to let the names of functions begin with a double underscore if they're intended for private/internal use only.
# this function is for internal use
# this function is for public use