I have been looking about constants and I don't really understand whats different about them other than they cant be changed programmatically.

```
extern NSString * const MyConstant;

```

With this line what exactly does `extern` mean and what exactly does the `const` mean?