"Writeline is a member of console" just means
"Writeline is part of console"
Class is a broadly defined logic-chunk. You can make your methods part of that broadly defined logic.
So example:
Class Head
{
Class Eye
{
string color ;
See()
{
//Some code to control seeing
}
}
Class Hair
{
string color = "black" ;
}
}
So head is a class - eye is a class, which is a member of head.
See() is a method, which is a member of eye.
To "Call" See(), you'd write Head.Eye.See()
If you make "Head" a "static" class, that means there's only 1 head in existence, or your singular code controls all members of Head in unison. So if you call "Head.Eye.See()" all it would effect all of them in your program.
But, if you make "Head" a dynamic class (just don't use the keyword static), then you can tell a specific head to See().
The power of Object Oriented Programming is in dynamic classes because you can create instances of these logic chunks. (instances means copies essentially)
So if you want 2 heads you could do something like this:
Head Hank = new Head() ; //now you'v got an instance of Head, that also contains the members, Eye, Hair.
Head Sarah = new Head() ;
Hank.Hair.color = "red" ; //you just gave Hank red hair.
Hank.Eye.color = "blue" ;
//You didnt have to create the new Eye or Hair, because the new Head inherited them, since they're part of the Head Class. Above, when I gave them colors, I was just assigning values.
//however, right now Sarah's hair is "Black" because that's what was assigned by default, and her eye color is null, because nothing was assigned in the class.
//Make Hank see.
Hank.Eye.See() ;
Basically, Classes are logical topics which don't really "do" anything. They hold other information, kind of a mirror of real life. Words are symbols that hold meaning to describe functions, just as Classes hold Methods which.. do stuff.