Hi i have some confusion related to the following...

Abstraction - hiding implementation.
encapsulation - hiding data.

Is the above definitions are correct ?
If yes How these two terms are related? I mean can these things exist without each other?

------------------------
suresh