class는 설계도라고 생각하면 됨
return - 출력값이 있다 -> 메인 프로그램에 전달해줌 / 실행되고 있는 함수에 보내줌
전역변수 - 지역변수인 것 처럼 끌어다 사용
함수 - 함수의 내용이 조금이라도 달라지면 새로운 함수를 만들어야 함 ex) a+1, a+2
class - 새로운 형태로 변환이 가능하다. ex) a+x
대상 파악 - 속성 개념 파악
class 구성요소 - 생성자 ( ) , 속성(변수) (ex : 키, 나이 등), 기능(함수 -> class에서 메서드로 변함)
모든 클래스는 하나 이상의 생성자를 가진다. 인스턴스를 만드는 역할(없으면 컴퓨터가 만듬 = 기본 생성자)
공통개념은 부모 클래스에 만들고, 다른건 자식 클래스에 만든다.
객체의 속성 - 인스턴스 = 속성과 메서드는 같음, 리터럴은 다름
ex) 객체 = 보드마카 , 속성 = 잉크 , 리터럴 = 색상
하나의 클래스를 정의하고 상속받아서 다른 객체가 생성됨 = 특허
본인의 속성에 의한 리터럴은 본인이 정한다.
_ _ init _ _ (self) = 내부 메서드
_ _ = 클래스 내부에서만 사용되는 것
init = 초기화 메서드 -> 클래스가 호출되었을 때 자동으로 한번만 동작함
self = 객체 자기자신의 주소값(.과 같은 역할), 매개값 안에 self가 존재하면 무조건 메서드
def add = 사용자 정의 함수
구성요소 - 1. 생성자(constractor)
2. 속성(attribute) - 변수
3. 기능(function) - 메소드
---> class 내부에 존재하는 함수 = 메서드
사용법 -- 정의
class Abc:
----- 클래스 이름 -> 첫글자 대문자
-----class 선언자
class Abc:
선언부 -> 생성자 / 속성
코드블럭 -> 메서드
class Abc:
Abc() : 기본 생성자가 자동으로 생성된다.(묵시적) --> 원래 컴파일러의 역할
--> 생성자를 호출한다란? -> heap 영역에 인스턴스(instance)를 생성한다.
--------- 호출한다? = 객체화
class 호출 시 입력값이 필요하다면? --> 외부에서 객체의 속성을 변경하는 방법이 있다.
생성자 호출 시 입력값이 존재하면 그 값은 초기화 메서드에 전달된다.
모든 인스턴스에 객체가 존재해야 한다.
메서드(함수) --> 기능 구현 --> 일반적인 함수를 메서드라고 부른다
속성은 결국 객체 안에 존재한다.
통제하는 함수를 생성해야 한다.
통제함수 : 1. setter() : 속성의 값을 설정해준다.
2. getter() : 속성의 값을 출력해준다(가져온다).
클래스의 상속 -> 자식 클래스가 부모 클래스를 선택해서 강탈해온다.