A.3. Encapsulation - JulTob/Ada GitHub Wiki
It happens in packages.
package Pck is
type T is tagged private;
procedure Method1 (V : T);
private -- c++'s protected
type T is tagged record
F1, F2 : Integer;
end record;
procedure Method2 (V : T);
end Pck;