オブジェクト
クラスは設計図、オブジェクトは実体を指す。
オブジェクトとインスタンスはほぼニュアンスだという認識でOK
クラスに基づいてオブジェクトを生成していくという認識。
ruby
class User #クラスの作成
def initialize(name, age)
puts '#{name}さん、#{age}歳'
end
end
User.new('Bob', 20) #オブジェクトの作成
#=> Bobさん、20歳
インスタンス変数
・インスタンス変数の変数名は必ず@で始める。
例: @name = name
・インスタンス変数を参照できるのは、initializeメソッドとオブジェクトのインスタンスメソッドのみ。
・クラス内部ではインスタンス変数を使用可能。クラス外部から参照したい場合は参照用のメソッドを作成。
ruby
class User
def initialize(name)
@name = name
end
def name #オブジェクトのインスタンスメソッド
@name
end
end
user = User.new('Bob')
user.name #=> "Bob"
#.name: nameメソッドを経由して@nameを取得している