private宣言で定数には影響しないのかな

activesupportのinheritable_attributes.rb 読んでたらこんな記述があった。なぜかprivate宣言の中で定数を宣言している。

   private
     # Prevent this constant from being created multiple times
     EMPTY_INHERITABLE_ATTRIBUTES = {}.freeze unless const_defined?(:EMPTY_INHERITABLE_ATTRIBUTES)

よくわからないがprivate定数ってことか?と調査してみた。

class A
  CONST = "public"
  private
  CONST_P = "private"
end
p CONST
p CONST_P

結果は、

"public"
"private"

ということなので定数にprivate宣言はできないことがわかった。
そもそも、こうしてみるとprivate宣言はmethodにしか出来ないことがわかる。

irb(main):003:1>private :CONST_P
NameError: undefined method `CONST_P' for class `A'