C and OOP need a little clarification

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!

+4
3

- ( ), , .

Java ( ), , , .

C , , , , , .

+7

, Java , C, . , .. - . C , JAVA . C , JAVA .

+1

, - ( ). , Java , C ( ).

0
source

Source: https://habr.com/ru/post/1619837/


All Articles