I'm trying to learn advanced topics of C#, I'm currently 16 years old and self taught so I never really learnt about the advanced topics of C#, although I don't really see this as an advanced topic.
I was wondering if anyone could explain to me what abstraction is? I've made my own conclusion so if somebody could ready that and maybe pick up on the parts I may have wrong?
There aren't much resources online that make sense to me right now, but looking at lots of different ones sort of painted me a vague but fairly conclusive picture.
Abstraction is simply hiding methods, properties, fields and everything else in a class that the programmer never calls and the programmer really doesn't care about. I guess this means everything that should be hidden should be private? I don't really see this as a topic that you need to learn because this is what everyone does anyway, am I missing something? I also don't understand the reasoning for hiding it, it should be hidden anyway, abstraction is simply a coding convention / coding practice that everyone should follow, not a topic, am I right? If so, I don't see why its so important, is it personal preference? Is this just because the programmer doesn't want to see irrelevant things that they'll never use? Hopefully someone can help me.
My thought of the word "abstract" which I feel I have right.
Sort of exists but then sort of doesn't, it exists but as a thought, in code it exists but isn't visible.