Aiffel: Day 11

Hyunji Kim·2022년 1월 10일
0

Aiffel

목록 보기
10/10

오늘의 주제
Aiffel LMS : Fundamental 13. 당신의 행운의 숫자는? 나만의 n면체 주사위 위젯 만들기 (Class)
DeepML : CS231n Lecture #2: Image Classification

Aiffel LMS

Fundamental 13. 당신의 행운의 숫자는? 나만의 n면체 주사위 위젯 만들기 (Class)

  • 객체 지향 프로그래밍(OOP: Object Oriented Programming) 이란?

    컴퓨터 언어가 생겨나던 초창기에 많은 언어들은 데이터(변수)와 함수만을 표현해 왔습니다. 그런데 조금 큰 프로그램을 작성하다 보니 문제가 생겼습니다. 예를 들어 A라는 자동차와 B라는 자동차를 각각의 변수로 만들고자 한다면 car_a_tire, car_b_tire, car_a_window, car_b_window, ... 처럼 많은 변수들이 같은 계층에서 만들어졌기 때문이에요. 함수 역시 car_a_run(), car_b_run(), car_a_stop(), car_b_stop(), ... 처럼 계속 늘어나야 했습니다. 이렇게 한없이 변수와 함수가 늘어나는 상상만 해도 끔찍한데요.

    컴퓨터를 연구하던 사람들은 만약 Car라는 묶음을 만들어 놓고 Car 묶음 안에 tire를 넣어 놓으면 car_a.tire, car_b.tire 처럼 사용할 수 있으니 계층이 달라지고 변수를 무한히 펼쳐 놓지 않아도 된다는 점을 깨닫게 됩니다. 또 함수도 묶음 안에 넣어버리면 car_a.run(), car_b.run()과 같이 사용할 수 있습니다. 그래서 그 묶음의 형식을 클래스(Class)라고 소개하고 실제로 만들어 낸 각각의 묶음(car_a, car_b)을 객체(Object)라고 부르게 됩니다. 이후로 이점은 많은 컴퓨터 언어에 기본 아이디어가 됩니다. < 출처:Aiffel LMS >

  • 객체 지향 프로그래밍의 기본 문법

    • 클래스 선언
    • 클래스 사용 - 객체 인스턴스화 (표기법 주의)
    • 클래스의 속성과 메서드
    • 생성자 __init__ (인스턴스 객체의 속성을 초기화)
    • 클래스 변수 / 인스턴스 변수
    • 클래스 상속
    • 상속 사용하기: add, override, super()

CS231n

Lecture 2: Image Classification (~30:40)

0개의 댓글

Powered by GraphCDN, the GraphQL CDN