1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Swiftのアクセス装飾子について理解する

Posted at

アクセス装飾子とは?

Swiftではアクセス装飾子を利用することができます。
装飾子を使用することにより、関数やクラスにアクセス制限を設けることができ、スコープ(使用する範囲)を明確にして定義することができます。

アクセス装飾子の種類

open

  • 同じモジュール内だけでなく、別のモジュールからでもアクセスが可能
  • 継承またはオーバーライドができる

モジュールとは
importして読み込んで利用するFrameworkを作成するための仕組み。

public

  • 同じモジュール内だけでなく、別のモジュールからでもアクセスが可能
  • 継承やオーバーライドが不可能

internal

  • 同じモジュール内からのみアクセスできる

fileprivate

  • 同じファイル内からのアクセスのみ許可されている。

private

  • 装飾子を設けたそのクラスまたは構造体の中でのみアクセス可能(extension内でもアクセス可能)
  • 一番制約の厳しい装飾子

装飾子を何も付けなければinternalの扱いとなる

装飾子をつけるメリット

  1. チーム開発をしてる場合は、変数や関数にprivateをつけることで、クラス内部しか利用されていないことを、明示することができるのでコードレビューをしやすくなります
  2. 外部でアクセスできないようにすると似ている変数名を誤って呼び出すこともなくなります。
  3. public(どこからでもアクセス可能)をつけることでグローバル変数であること明示できるのでコードの読みやすさにつながります。

アクセス装飾の使い分け

アクセスレベルを特に意識しない場合

何もつけない or internal

アクセスレベルを意識する場合

  • public・・・別のモジュールからも使えるようにしたい
  • open・・・別のモジュールからも使えて、継承やオーバーライドさせたい。
  • private・・・実装を他からは隠したい。
  • fileprivate・・・実装を他からは隠したいが、特定のコード間では共有したい。

参考記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?