In UML class diagrams, # symbol represents protected access specifier. Protected members are accessible within the class and its subclasses but not from external code. This intermediate access level balances public accessibility with private restriction.