I am currently programming in C. I am a junior student. The first language we learned was Java, and now I'm learning C.
In Java, we create a class and its field variables (state) and many methods (or actions) for the specified instance of the object.
in C, we have something very similar, we have a structure that contains our object (I think I consider it to be its “state” or field variable or “attrubutes”), and we have functions that the object can be transferred to change their behavior.
In C, I can achieve the same “encapsulation” and form of “inheritance” by hiding or sharing data through header files.
While I fully understand that Java and C tend to achieve this in different ways, I am confused by why C is not really considered OOP, but rather procedural.
I feel that I have something important. Maybe I do not understand what procedural programming is? Either I'm just mistaken or using C completely wrong. It would be nice to know.
EDIT:
Instead of printing on every poster, I just add it here. Many thanks to all of you, I sincerely thought that I was missing some important concept. The posts you did all make sense, and I feel that I have a better understanding. Thank you very much for responding so quickly and taking the time to respond to this post.
Thanks again, I am very grateful!