TIL

👀Today I Learn

0. 클래스

  • 클래스는 객체를 표현하기 위한 문법
    • 체크박스, 스크롤바 같은 특정한 개념이나 모양이 존재 하는 것을 객체(Object)라 부름
  • 객체를 사용한 프로그래밍 언어를 객체 지향(Object oriented) 언어라고 부름
    • 파이썬에서 자주 쓰이는 list, dict 등도 모두 각자의 용도에 맞게 만들어진 클래스임!
      print(int)
      # <class 'int'>
      print(list)
      # <class 'list'>
      print(dict)
      # <class 'dict'>
      
  • 클래스에는 크게 속성과 메서드 두가지로 구분됨
    • 속성(attribute) : 매개변수를 받고 사용하기 위한 값을 정의
    • 메서드(method) : 만들어진 속성들을 이용해 어떤 행위를 하는 실행 코드

      💡예시 : 게임의 기사 캐릭터
          - 게임 캐릭터는 체력, 마나, 물리 공격력, 주문력이 필요
          - 스킬 : 칼로 베기, 찌르기 등

          ⭐ 기사 : 클래스
          ⭐ 체력, 마나, 물리 공격력, 주문력 : 클래스의 속성
          ⭐ 베기 찌르기 등의 기능 : 메서드


1. 클래스, 메서드 만들기

  • 클래스는 class에 이름을 지정하고 :(콜론)을 붙인 뒤 다음 줄부터 def 메서드를 작성
    • 여기서 메서드는 클래스 안에 들어있는 함수
  • 보통 파이썬에서 클래스의 이름은 대문자로 시작

      # 클래스 생성
      class Dog :
    
          # 메서드 생성
          def greeting(self):
              print('bow bow')
    

2. 인스턴스 생성 및 메서드 호출하기

인스턴스 생성

  • 클래스를 사용 하려면 인스턴스가 생성되어야 함
  • 클래스에 ()(괄호)를 붙인 뒤 변수에 할당
    • Dog로 변수 dubu를 만들었는데 여기서 dubuDog의 인스턴스(instance)
      # 인스턴스 생성
      dubu = Dog()
      

메서드 호출

  • 메서드는 클래스가 아니라 인스턴스를 통해 호출
  • 다음과 같이 .(마침표)를 붙이고 메서드 호출
      # 메서드 호출
      dubu.greeting()
    
      # 결과 값 : bow bow
    
  • 이렇게 인스턴스를 통해 호출하는 메서드를 인스턴스 메서드 라고 부름


3. 인스턴스와 객체의 차이점

  • 인스턴트와 객체는 같은 걸 뜻하지만 클래스와 연관지어 말할 때는 인스턴스(instance)라고 부름
  • 다음과 같은 코드에서
    • 변수 a는 객체
    • a는 list 클래스의 객체
      a = list(range(10))
      



💡Today I Thought

오늘의 체크리스트

  • 알고리즘 코드카타 26-28
  • SQL 코드카타 37-38
  • AM 10:00 Git 특강
  • 프로그래머스 입문 Day 22
  • 백준 코테 1문제
  • 머신러닝 공부 ⇒ 과제를 중점으로 공부하기
  • PM 7:10 스탠다드반 수업
  • TIL 작성
  • WIL 작성

회고

  금요일에는 왜 이렇게 집중이 안되는지. 나만 그런가😶‍🌫️ 여튼.. 어찌저찍 공부를 하긴 했는데, 못한게 많은 하루다.

  오늘 스탠다드반 수업 없을줄 알고 머신러닝 공부 좀 해야지 했는데 어림도 없지.. 바로 수업 잡혀버렸다. 그래서 TIL도 9시 넘어서 작성 시작.. 정처기까지 보고 자면 시간이 1시가 훌쩍 넘을 것 같다🫠 프로그래머스 문제도 3개까지 풀었는데 한 문제가 도저히 안풀린다.. 감도 안잡히는 중..😭

  주말에도 공부 좀 꾸준히 해야하는데 연말이라 그런가 약속이 많이 잡혀버렸다. 그래도 꾸준히 공부 해야지..! 주말에는 클래스 부분 조금 더 공부하고 코딩테스트 좀 풀다가 머신러닝을 좀 해봐야 할 것 같다. 과제를 제출하긴 해야하니까🤔 여튼 이번주도 끝! 수고했어!

댓글남기기