変数とは、ヒモ

主に自分用のメモ。

  • 変数とは、ヒモ
  • オブジェクトとは、モノ
  • 変数のスコープ=ヒモを保持する期間
  • オブジェクトの生存期間=ヒモにぶら下がれないなったらゴミ
    • 循環参照は「輪」。
  • メソッド実行=>オブジェクト自身が実行する…わけじゃなく、オブジェクトへのヒモ("this"や"self"の名前)を持つ一時オブジェクト「メソッド実行屋さん」がいる。実は。
    • Pythonは明示的に、Javaは「0番目の引数」として。
    • スクリプト実行器、もしくはmainメソッドとか。
  • 静的オブジェクト(クラス定義や関数、staticメソッドなどなど)は、実行環境が直接持つヒモから辿れるオブジェクト。
    • Javaにはクラスローダってのもあるか。クラスローダの挙動って全然調べたことないけどw
    • クラスやメソッドは第1級オブジェクトじゃなくても、オブジェクトと捉えても概ね大丈夫。
      • 第1級オブジェクトかそうじゃないかの説明とか
  • ついでにmutableとimmutableとか
  • ついでにアスペクトとか
  • 要するにデザインパターンの説明をしてみるとか

オブジェクト同士の関係性については説明できるけど、オブジェクト生成に関する説明は弱いかなぁ。

全てがオブジェクト、を前提としているので、Javaのプリミティブは無視の方向で。そんなにかわらんっちゃかわらんけどね。