{"id":31711,"date":"2024-11-01T09:02:00","date_gmt":"2024-11-01T09:02:00","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=31711"},"modified":"2024-11-01T11:48:34","modified_gmt":"2024-11-01T11:48:34","slug":"05-1-pythons-classes","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/31711\/","title":{"rendered":"05-1 Python&#8217;s Classes"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. What is a Class?<\/h2>\n\n\n\n<p>A class is one of the basic units necessary for supporting object-oriented programming (OOP) in programming languages. A class is used to bundle data (attributes) and methods (functions) for manipulating that data together. Using classes allows you to organize the structure of your code well and make it more reusable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Difference between Class and Object<\/h2>\n\n\n\n<p>A class is a blueprint (design) for creating objects. An object is an entity created based on a class, which occupies memory at runtime and has a state that can act.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Defining a Class<\/h2>\n\n\n\n<p>A class is defined using the <code>class<\/code> keyword. Class names usually start with an uppercase letter, and the body of the class should be indented.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Car:\n    def __init__(self, make, model, year):\n        self.make = make\n        self.model = model\n        self.year = year\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4. Constructor and Destructor<\/h2>\n\n\n\n<p>A constructor is a method that is automatically called when an object is created, and it is mainly used to set the initial state of the object. In Python, the <code>__init__<\/code> method serves this purpose. A destructor is called when an object is deleted and can be defined with the <code>__del__<\/code> method.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Class Variables and Instance Variables<\/h2>\n\n\n\n<p>A class variable is a variable that is shared by the class, having the same value for all instances. An instance variable is a variable that can have separate values for each object.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Car:\n    number_of_wheels = 4  # Class variable\n\n    def __init__(self, make, model, year):\n        self.make = make    # Instance variable\n        self.model = model  # Instance variable\n        self.year = year    # Instance variable\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. Defining Methods<\/h2>\n\n\n\n<p>A method is a function defined within a class that defines the behavior of the object. Instance methods are usually used, and the first parameter is <code>self<\/code>, which allows access to the object itself.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Car:\n    def start_engine(self):\n        print(\"Engine started\")\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">7. Inheritance<\/h2>\n\n\n\n<p>Inheritance is a technique for creating new classes based on existing classes, which increases code reusability. It is defined in the form <code>class DerivedClass(BaseClass):<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class ElectricCar(Car):\n    def __init__(self, make, model, year, battery_size):\n        super().__init__(make, model, year)\n        self.battery_size = battery_size\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">8. Polymorphism<\/h2>\n\n\n\n<p>Polymorphism is the ability to handle different data types with the same interface. In Python, polymorphism can be implemented through method overriding.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Animal:\n    def sound(self):\n        pass\n\nclass Dog(Animal):\n    def sound(self):\n        return \"Woof!\"\n\nclass Cat(Animal):\n    def sound(self):\n        return \"Meow!\"\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">9. Encapsulation<\/h2>\n\n\n\n<p>Encapsulation means restricting outside access to some of the implementation details of an object. In Python, it is conventionally indicated by prefixing the variable name with an underscore (private) to represent encapsulation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Example of Using Classes<\/h2>\n\n\n\n<p>Here, we will create an example that includes all the concepts explained above.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Book:\n    def __init__(self, title, author, pages):\n        self.title = title\n        self.author = author\n        self._pages = pages  # Private variable\n\n    def __str__(self):\n        return f\"{self.title} by {self.author}\"\n\n    def set_pages(self, pages):\n        if pages > 0:\n            self._pages = pages\n        else:\n            raise ValueError(\"The number of pages must be positive.\")\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1. What is a Class? A class is one of the basic units necessary for supporting object-oriented programming (OOP) in programming languages. A class is used to bundle data (attributes) and methods (functions) for manipulating that data together. Using classes allows you to organize the structure of your code well and make it more reusable. &hellip; <a href=\"https:\/\/atmokpo.com\/w\/31711\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;05-1 Python&#8217;s Classes&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[98],"tags":[95],"class_list":["post-31711","post","type-post","status-publish","format-standard","hentry","category--en","tag--en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>05-1 Python&#039;s Classes - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/31711\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"05-1 Python&#039;s Classes - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"1. What is a Class? A class is one of the basic units necessary for supporting object-oriented programming (OOP) in programming languages. A class is used to bundle data (attributes) and methods (functions) for manipulating that data together. Using classes allows you to organize the structure of your code well and make it more reusable. &hellip; \ub354 \ubcf4\uae30 &quot;05-1 Python&#8217;s Classes&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/31711\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:02:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:48:34+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/31711\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/31711\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"05-1 Python&#8217;s Classes\",\"datePublished\":\"2024-11-01T09:02:00+00:00\",\"dateModified\":\"2024-11-01T11:48:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/31711\/\"},\"wordCount\":343,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"keywords\":[\"\ud30c\uc774\uc36c\uac15\uc88c\"],\"articleSection\":[\"Python Study\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/31711\/\",\"url\":\"https:\/\/atmokpo.com\/w\/31711\/\",\"name\":\"05-1 Python's Classes - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:02:00+00:00\",\"dateModified\":\"2024-11-01T11:48:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/31711\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/31711\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/31711\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"05-1 Python&#8217;s Classes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"05-1 Python's Classes - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/31711\/","og_locale":"ko_KR","og_type":"article","og_title":"05-1 Python's Classes - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"1. What is a Class? A class is one of the basic units necessary for supporting object-oriented programming (OOP) in programming languages. A class is used to bundle data (attributes) and methods (functions) for manipulating that data together. Using classes allows you to organize the structure of your code well and make it more reusable. &hellip; \ub354 \ubcf4\uae30 \"05-1 Python&#8217;s Classes\"","og_url":"https:\/\/atmokpo.com\/w\/31711\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:02:00+00:00","article_modified_time":"2024-11-01T11:48:34+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/31711\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/31711\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"05-1 Python&#8217;s Classes","datePublished":"2024-11-01T09:02:00+00:00","dateModified":"2024-11-01T11:48:34+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/31711\/"},"wordCount":343,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"keywords":["\ud30c\uc774\uc36c\uac15\uc88c"],"articleSection":["Python Study"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/31711\/","url":"https:\/\/atmokpo.com\/w\/31711\/","name":"05-1 Python's Classes - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:02:00+00:00","dateModified":"2024-11-01T11:48:34+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/31711\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/31711\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/31711\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"05-1 Python&#8217;s Classes"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/31711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=31711"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/31711\/revisions"}],"predecessor-version":[{"id":31712,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/31711\/revisions\/31712"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=31711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=31711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=31711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}