Almost like one.
Many programmers also forget that a class can use its own properties. Often people use a backing variable and property procedures to access it. Then inside the class they directly access the backing variable. Usually it's better to use the property procedures so you get all of their advantages, such as value checking and the ability to set breakpoints in there.
You can even create a class inside another class. In that case, you can ,make the inner class private so only the outer class can use it.
There are all kinds of odd things you can do with classes