TIL(24.12.27)

채채·2024년 12월 27일

Today I Learned

목록 보기
44/75

OOP (Object-Oriented Programming)

베이직반 수업<객체지향프로그래밍>

객체(Object)란 ?

객체를 이해하려면 클래스부터 알아야 함.

  • 클래스의 기본구조 예시
class Person :
	def __init__(self, name) :
    	self.name = name
    def greeting(self) :
    	print("안녕")
        
        
person = Person("Alice")
person.greeting()
  • def __init__(self) 에 있는 것이 속성(attribute)
  • def greeting(self) 에 있는 것이 메서드(method)
    • 속성 : 상태
    • 메서드 : 행동

📌 python에서 이름짓는 방법

  • 파스칼케이스 : PascalCase 처럼 모든 단어 첫글자는 대문자로 작성 (클래스 이름)
  • 스네이크케이스 : snake_case 처럼 언더바로 구분(변수, 함수명에 사용)
  • all upper : 모두 대문자 (상수명에 사용)

    카멜케이스나 다른방법도 사용할 수 있지만, 사용하면? 취업이 안 됨

class 생성이유

  • Person이라는 객체를 한 번만 사용할거면 class로 만들 필요가 없음.

class의 장, 단점

  • 장점

    • 여러개의 인스턴스를 찍어내기위해서 class를 만들어서 사용 -> 재사용성에 좋음
    • 클래스안의 내용, 구조를 잘 몰라도 사용할 수 있음 -> 생산성 올라감
    • 클래스 내에 새로운 메서드 만들어주면 개발, 유지보수가 용이해짐
  • 단점

    • 설계에 많은 시간과 노력이 필요하다.
    • 실행속도가 느림(사실상 체감 못 함)

클래스와 인스턴스

  • 자주 쓰이는 비유
    클래스 == 붕어빵 틀
    인스턴스 == 붕어빵

  • 인스턴스는 클래스를 가지고 메모리 공간에 클래스 만큼의 공간을 할당 받은 것,,,

    • 메모리에 대한 cs지식이 필요함. 나중에 따로 정리예정

python에서 data_type을 찍어보면,,

a = 1,2,3

print(type(a)) #class int
  • a의 type을 print 해보면 class int로 출력됨.
    int, float, str, 컨테이너형 모두 class라는 것을 알 수 있음.

python의 object란?

  • 즉, 파이썬의 모든것은 object
  • 객체(object)는 특정 class의 인스턴스

결론 : 영어공부를 하자(?)

profile
화이팅

0개의 댓글