• Link to Facebook
  • Link to Youtube
DevsClub
  • Home
  • Devs.Hub
    • Devs Resource Hub
    • Color Picker
    • Devs Ai Draw
  • Devs.News
    • AI
    • Design
      • Game design
      • UX Design
    • Development
    • Ethical Hacking
    • Internet
    • Smartphones
    • PC
    • Security
    • Devs Fun Time
  • Devs.Member
  • Free Books
  • Devs.Team
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu
You are here: Home1 / Devs News2 / Dev News3 / Development4 / Programming Languages5 / Γιατί η Java ΔΕΝ είναι 100% Object-Oriented γλώσσα προγραμματισμού...

/Blog

Γιατί η Java ΔΕΝ είναι 100% Object–Oriented γλώσσα προγραμματισμού

Η Java έγινε release το 1995 από την Sun Microsystems με τη λογική οτι είναι μια γλώσσα προγραμματισμού που δημιουργήθηκε γύρω από την Object-Oriented φιλοσοφία . Στην πραγματικότητα, η Java θεωρείται ο ιδανικός τρόπος για να μάθει κάποιος OOP. Θα πρέπει επίσης να σημειώσουμε οτι σε όλα τα πανεπιστήμια / σχολές κτλ στο πρόγραμμα σπουδών αναγράφετε το μάθημα “Αντικειμενοστραφής προγραμματισμός” και έχει ως αναφορά την Java. Έτσι λοιπόν όλοι οι φοιτητές θεωρούν οτι έφόσον το αναφέρει εκεί έτσι θα είναι.

Έχουν υπάρξει μέχρι τώρα αρκετές στιγμές που έχουν έρθει σε “κόντρα” προγραμματιστές μεταξύ τους για το εαν η Java είναι καθαρά Object-Oriented γλώσσα προγραμματισμού. Έχουμε λοιπον ενα μεγάλο κοινό το οποίο υποστηρίζει οτι ναι είναι και ενα μικρότερο το οποίο υποστηρίζει το αντίθετο. Στη προκειμένη περίπτωση οι λίγοι έχουν δίκιο και πολλοί άδικο. Ναι, η Java δεν είναι 100% OOP γλώσσα. Πάμε να καταρρίψουμε το μύθο.

Κανόνες και αρχές

Καταρχήν για να μπορέσουμε να συνεχίσουμε θα πρέπει να ξαναθυμηθούμε τις βασικές αρχές που  οριοθετούν μια γλώσσα προγραμματισμού ως “Αντικειμενοστραφή”

  1. Encapsulation : Με αυτή την έννοια όλα τα data είναι “κρυμμένα” μέσα σε ένα συγκεκριμένο header.
  2. Polymorphism : Με αυτή την έννοια επιτρέπεται να έχουμε μια οντότητα σε πολλαπλές μορφές.
    Αυτό μπορεί να επιτευχθεί με τις διαδικασίες method overloading και
    overriding
  3. Inheritance : Με αυτή την έννοια έχουμε την δυνατότητα να κληρονομήσουμε όλα properties
    από την parent class στην child
  4. Abstraction : Λόγω αυτής της ιδιότητας του OOP, ο χρήστης βλέπει μόνο τα απαραίτητα
    δεδομένα. Όλα τα υπόλοιπα αποκρύπτονται γιατί δεν πρέπει να εκτίθενται και
    να υπάρχει πρόσβαση. Αυτό επιτυγχάνεται μέσω των interfaces και των abstract
    κλάσεων.
  5. Όλα τα predefined types είναι objects
  6. Όλα τα user-defined types είναι objects
  7. Όλες οι διαδικασίες εκτελούνται μόνο μέσω των objects χρησιμοποιώντας τις υλοποιημένες μεθόδους.

Για να θεωρείται μια γλώσσα προγραμματισμού (οποιαδήποτε όχι μόνο η Java) θα πρέπει να ικανοποιεί όλες τις παραπάνω αρχές.

Γιατί η Java δεν είναι 100% OOP γλώσσα 

Έχοντας υπόψη τα παραπάνω, η Java “ικανοποιεί” τους κανόνες 1, 2, 3, 4, 6. Οι κανόνες 5 και 7 δεν εφαρμόζονται κατά γράμμα. Πάμε να δούμε λίγο πιο αναλυτικά πως λειτουργεί η Java στους κανόνες αυτούς.

Κανόνας 5

Ο 5ος κανόνας λέει ότι όλα τα predefined (primitive) types είναι objects, κάτι το οποίο δε συμβαίνει στην Java. Ας παρουμε για παράδειγμα την γλώσσα προγραμματισμού  “Smalltalk” η οποία είναι 100%  object-oriented. Η Smalltalk είναι μια γλώσσα Αντικειμενοστραφούς Προγραμματισμού καθώς όλοι οι προκαθορισμένοι τύποι δεδομένων, όπως int, Boolean  και chars, κτλ είναι επίσης αντικείμενα, αντίθετα από την Java. Στην Java, οι primitive datatypes όπως int, char, long, boolean κτλ δεν είναι αντικείμενα, αλλά έχουν τις Wrapper κλάσεις Integers, Character και Float κτλ. Αυτές οι κλάσεις έχουν τη δυνατότητα να μετατρέψουν τα primitive datatypes σε αντικείμενα. Αυτό σημαίνει ότι τα primitive datatypes δεν είναι αντικείμενα. Αυτό έρχεται σε αντίθεση με τον κανόνα 5 των αρχών του Αντικειμενοστραφούς Προγραμματισμού.

Κανόνας 7

Ο 7ος κανόνας λέει ότι οποιαδήποτε διεργασία θέλουμε να εκτελέσουμε γίνεται μέσω ενός object και κατ’ επέκταση χρησιμοποιώντας τις μεθόδους της κλάσης. Εδώ έρχεται η Java και δίνει την δυνατότητα να δηλώσουμε μια μέθοδο ή μεταβλητή ως static για να έχουμε απευθείας access χωρίς την δημιουργία  object.

Παράδειγμα :

Car.startEngine()

Ενώ η κλήση της startEngine θα έπρέπε να γίνεται μόνο με τον παρακάτω τρόπο για να μην σπάει ο κανόνας

Car car1 = new Car();
car1.startEngine();

Το παραπάνω παράδειγμα αυτομάτως ακυρώνει τον κανόνα 7.

Συμπεράσματα

Ενώ η Java είναι σε μεγάλο βαθμό αντικειμενοστραφής και υποστηρίζει πολλά βασικά χαρακτηριστικά της αντικειμενοστραφούς δομής (encapsulation, inheritance, polymorphism, κλπ.), για τους δυο παραπάνω λόγους δεν είναι 100% αντικειμενοστραφής.

Check this out…

Grok-4 is unleashed.

Grok 4 Unleashed: Elon Musk’s ‘Smartest AI’ Hits Tesla

Read more
https://www.devsclub.gr/wp-content/uploads/2025/07/Grok-4.webp 1024 1536 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2025-07-14 10:35:202025-07-14 10:35:20Grok 4 Unleashed: Elon Musk’s ‘Smartest AI’ Hits Tesla
software3: AI as OS

Όταν η Τεχνητή Νοημοσύνη Γίνεται το Επόμενο Λειτουργικό Σύστημα

Read more
https://www.devsclub.gr/wp-content/uploads/2025/06/software3_AI_OS.webp 1024 1536 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2025-06-21 19:30:052025-06-21 19:30:05Όταν η Τεχνητή Νοημοσύνη Γίνεται το Επόμενο Λειτουργικό Σύστημα

New AI business Service: Google Agentspace

Read more
https://www.devsclub.gr/wp-content/uploads/2025/02/2025-02-24_10h36_06.png 417 743 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2025-02-24 10:45:572025-02-24 10:48:06New AI business Service: Google Agentspace
About iOS 18 Image

iOS 18: Ανακαλύπτοντας τις Νέες Δυνατότητες και Προσαρμογές

Read more
https://www.devsclub.gr/wp-content/uploads/2024/09/DALL·E-2024-09-17-10.08.47-A-vibrant-and-sleek-promotional-image-for-an-article-about-iOS-18.-The-image-features-an-iPhone-with-a-dynamic-home-screen-showcasing-customizable-app-1.webp 1024 1792 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2024-09-17 11:10:272024-09-17 11:20:36iOS 18: Ανακαλύπτοντας τις Νέες Δυνατότητες και Προσαρμογές

Η Ευρωπαϊκή Ένωση Ερευνά τις Συμφωνίες Τεχνητής Νοημοσύνης

Read more
https://www.devsclub.gr/wp-content/uploads/2024/07/2024-07-11_18h54_10.png 686 1040 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2024-07-11 19:26:042024-07-11 19:29:50Η Ευρωπαϊκή Ένωση Ερευνά τις Συμφωνίες Τεχνητής Νοημοσύνης

From Diagram to Code: 100% AI-Generated Process AND FREE

Read more
https://www.devsclub.gr/wp-content/uploads/2024/02/a7e92e7c-f3e2-4f68-8da5-92d7335714cf.jpg 1024 1024 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2024-02-15 00:58:362024-02-15 01:00:33From Diagram to Code: 100% AI-Generated Process AND FREE

AutoGPT: The Revolutionary Tool Powered by GPT-4

Read more
https://www.devsclub.gr/wp-content/uploads/2023/04/AutoGPT-1.png 1108 1990 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2023-04-29 03:48:532023-04-29 17:31:16AutoGPT: The Revolutionary Tool Powered by GPT-4

New Job Arrived: Discover the Versatile Role of Prompt Engineering Across Industries Using AI Solutions

Read more
https://www.devsclub.gr/wp-content/uploads/2023/04/Leonardo_Diffusion_Artificial_Intelligence_new_Jobs_2.jpg 1024 1024 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2023-04-16 21:56:092023-04-16 22:45:35New Job Arrived: Discover the Versatile Role of Prompt Engineering Across Industries Using AI Solutions
Gupta's AI Model

Engineering student’s AI model turns American Sign Language into English in real-time

Read more
https://www.devsclub.gr/wp-content/uploads/2023/03/2023-03-22_16h07_21.png 670 1196 Domi https://www.devsclub.gr/wp-content/uploads/2020/01/DC.png Domi2023-03-22 16:24:132023-03-22 16:42:38Engineering student’s AI model turns American Sign Language into English in real-time
Previous Previous Previous Next Next Next
Share this entry
  • Share on Facebook
  • Share on X
  • Share on WhatsApp
  • Share on Pinterest
  • Share on LinkedIn
  • Share on Tumblr
  • Share on Vk
  • Share on Reddit
  • Share by Mail

Devs Latest news

  • Grok-4 is unleashed.
    Grok 4 Unleashed: Elon Musk’s ‘Smartest AI’ Hits Tesla
  • software3: AI as OS
    Όταν η Τεχνητή Νοημοσύνη Γίνεται το Επόμενο Λειτουργικό Σύστημα
  • New AI business Service: Google Agentspace
  • About iOS 18 Image
    iOS 18: Ανακαλύπτοντας τις Νέες Δυνατότητες και Προσαρμογές
  • Η Ευρωπαϊκή Ένωση Ερευνά τις Συμφωνίες Τεχνητής Νοημοσύνης

Categories

Archives

  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • September 2024
  • July 2024
  • February 2024
  • January 2024
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • October 2021
  • September 2021
  • August 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
DevsTeam | © Copyright - DevsClub
  • Link to Facebook
  • Link to Youtube
Scroll to top Scroll to top Scroll to top

This site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.

Accept settingsHide notification onlySettings

Cookie and Privacy Settings



How we use cookies

We may request cookies to be set on your device. We use cookies to let us know when you visit our websites, how you interact with us, to enrich your user experience, and to customize your relationship with our website.

Click on the different category headings to find out more. You can also change some of your preferences. Note that blocking some types of cookies may impact your experience on our websites and the services we are able to offer.

Essential Website Cookies

These cookies are strictly necessary to provide you with services available through our website and to use some of its features.

Because these cookies are strictly necessary to deliver the website, refusing them will have impact how our site functions. You always can block or delete cookies by changing your browser settings and force blocking all cookies on this website. But this will always prompt you to accept/refuse cookies when revisiting our site.

We fully respect if you want to refuse cookies but to avoid asking you again and again kindly allow us to store a cookie for that. You are free to opt out any time or opt in for other cookies to get a better experience. If you refuse cookies we will remove all set cookies in our domain.

We provide you with a list of stored cookies on your computer in our domain so you can check what we stored. Due to security reasons we are not able to show or modify cookies from other domains. You can check these in your browser security settings.

Google Analytics Cookies

These cookies collect information that is used either in aggregate form to help us understand how our website is being used or how effective our marketing campaigns are, or to help us customize our website and application for you in order to enhance your experience.

If you do not want that we track your visit to our site you can disable tracking in your browser here:

Other external services

We also use different external services like Google Webfonts, Google Maps, and external Video providers. Since these providers may collect personal data like your IP address we allow you to block them here. Please be aware that this might heavily reduce the functionality and appearance of our site. Changes will take effect once you reload the page.

Google Webfont Settings:

Google Map Settings:

Google reCaptcha Settings:

Vimeo and Youtube video embeds:

Other cookies

The following cookies are also needed - You can choose if you want to allow them:

Privacy Policy

You can read about our cookies and privacy settings in detail on our Privacy Policy Page.

Privacy Policy
Accept settingsHide notification only