<Example Program>

Module steps
    Integer,
Private :: hidden_stepval = 0
    Public :: step,step_value
Contains
    Integer Function step_value()
        step_value = hidden_stepval
    End Function
    Subroutine step
        hidden_stepval = hidden_stepval + 10
    End Subroutine
End Module
Program private_example
   
Use steps
    Print *, step_value()
    Call step
    Print *, step_value()
End Program


Execution Results

  0
  10