<p>I'm rather confused about this. </p>

<p>And what's their relationship(e.g., how one can be used in the context of the other)? Much thanks!!</p>

The concept of symbols is a little bit hard to understand. (Even I'm not sure I got it :) )
You can look at symbols as special variables which behave like constants. There is only one instance in memory, no matter how often you used it.
The benefits are conserving memory and one can see if a value is used in a constant-like manner. (Improves code readability)
You can do
similar
things in C/C++ with
```
typdef
```
, in Java with
```
static final
```
or in Delphi/Pascal/VB with
```
const
```
, but be careful, in those and many other languages "symbol" means something different.