Access control for methods

Added following macros for method defs.

private
protected
package_private