In Perl 6, classes, roles and grammars can have private methods, that is, methods that are only callable from within the class, and are not inherited by types derived by inheritance.
# call with ! instead of .
For the purposes of dispatching and scoping, private methods are closer to subroutines than to methods. However they share access to self and attributes with methods.
From Type/Metamodel/PrivateMethodContainer.pod6 at perl6/doc on GitHub, commit 1b138b3d.