Sınıf dışından erişime kapalı metotlardır. Private metotlardan farkı ise, private metotlar kendilerinin
çağıran nesne örneği dışında başka nesne örnekleri üzerinde işlem yapamazken, korumalı metotlar
bu özelliğe sahiptirler.
Örneğimizi güncelleyelim:
class BankaHesabi def initialize(isim, bakiye = 0) @isim, @bakiye = isim,bakiye end def transfer(hesap, miktar) aktarma(hesap,miktar) puts "İşlemden sonra:" puts "h1 hesabının bakiyesi = #{@bakiye}" puts "h2 hesabının bakiyesi = #{hesap.bakiye}" end protected attr_accessor :bakiye def aktarma(hesap, miktar) @bakiye -= miktar hesap.bakiye += miktar end end h1= BankaHesabi.new("Ali", 1000) h2= BankaHesabi.new("Veli") h1.transfer(h2, 300)