[TIL] Python with oop

lena_log·2022년 3월 29일
0

Codestates Section5

목록 보기
3/10
post-thumbnail

https://github.com/hyesukim1/algo-practice

oop

oop 기본전제:(함수, 변수)재사용이 가능하도록 설계 및 프로그래밍






객체

  • 객체란 존재하는 모든 것들을 의미
  • 현실 세계는 객체로 이루어져 있고, 모든 사건들은 사물간의 상호작용을 통해 발생
  • 객체란 객체의 속성을 이루는 데이터들 뿐 아니라 그 데이터의 조작방법에 대한 내용도 포함
  • 객체는 속성과 기능을 가지고 있는 것이 핵심

객체 지향 프로그래밍(object oriented programming)

  • 객체 개념을 다루는 것이 객체 지향
  • 객체 지향 프로그램밍은 컴퓨터 기법중 하나이다
  • 프로그램을 단순히 데이터와 처리 방법으로 나누는 게 아니라 프로그램을 수많은 객체라는 단위로 구분하고 이 객체들의 상호작용하는 방식
  • 각각의 객체는 메시지를 주고 받고, 데이터를 처리

클래스(Class)

  • 객체의 구성 요소를 담는 개념
  • 여러 개의 속성과 메소드를 포함하는 개념
  • 객체를 정의하는 틀 또는 설계도
  • 실제 생성된 객체는 인스턴스(instance)
  • 인스턴스는 메모리에 할당된 객체를 의미
  • 클래스 문법
class Name(object):

# class : 클래스 정의
# Name : 클래스 명
# object : 상속받는 객체명

클래스 정의


class Book(object):
  author = ""
  title = ""
  publisher = ""
  date = ""
  
book = Book() # 북이라는 객체가 인스턴스로 만들어지고 메모리에 
book.author = "Suan" # 북이라는 인스턴스에  author라는 속성값에 Suan이라는 문자열을 넣어줌
print(book.author) # 점(.)으로 속성값에 접근할 수 있음
book.title = "Python Programming"
print(book.title)

클래스 메소드 정의

class Book(object):
  author = ""
  title = ""
  publisher = ""
  date = ""##
  
  def print_info(self): #self가 있어야함. 왜? 북을 통해서 만든 인스턴스에서 여기 안에 포함된다는 매서드로 인식되고 포함될 수 있어서
    print("Author: ", self.author)
    print("Title: ", self.title)
    
book = Book() # Book이라는 클래스를 통해서 book 인스턴스를 만들고
book.author = "Suan"
book.title = "Python Programming" # author, title 다 집어넣음
book.print_info() # print_info()를 호출하고 위에 def 코드에서 self가 의미하는건 book 인스턴스임

클래스 매직 메소드(Class Masic Methods)

  • '_'를 2개 붙여서 매직 메소드 또는 속성으로 사용 가능
  • __을 속성 앞에 붙이면 가시성을 위한 속성으로 사용
profile
안녕하세요. 기억보다 기록을 믿는 레나입니다!

0개의 댓글

관련 채용 정보