상세 컨텐츠

본문 제목

Class 구성요소 및 해석법

AI beginner by 비전공자

by Semi_AI_Expert 2022. 10. 12. 17:24

본문

항상 써왔지만 항상 개운하지 않았던 녀석, class.....

이 녀석을 정확하게 파악하고자 들었던 유튜브중 가장 이해가 잘 됐던 영상이 있어 소개 하고자 한다.

출처 : https://www.youtube.com/watch?v=uIcK7-YU8uA 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

1. JSS 라는 클래스를 실행하게 되면, __init__이라는 함수가 실행된다.

2. a라는 다른 변수에 클래스를 할당함으로서 사용한다.

3. self는 반드시 써줘야 함.

 

 

 

위 예시처럼, 그냥 JSS를 할당한 변수를 실행하게 되면 JSS class 속, __init__ 함수가 실행된다.
반면, JSS class속 __init__이 아닌 다른 함수를 실행코자 할 때는 위 예시처럼, "class 할당변수.함수명" 을 실행해 주어야 한다.

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

1. self는 class를 지정한 변수를 나타냄.(즉, self=class)

2. a.show() 에서 볼 수 있듯이 ()속을 빈칸으로 두는 것을 볼 수 있는데, 이는 괄호 속 self대신 앞에 a. 로 입력 되었기 때문이다. 

3. self.name 이나 self.age와 같이 class 속 변수를 불러오기 위해선, a.name 이나 a.age로 호출해야 한다.

4. 결국, "a.변수" or "a.함수" 를 통해 class 내부에서 정의한 변수 및 함수를 호출할 수 있는 것이다.

 

예a.변수" or "a.함수 예시 코드

----------------------------------------------------------------------------------------------------------------------------------------------------------------

기존 class 상속받는 법

1. JSS2(JSS)에서, 괄호 속 JSS는 JSS2 class에 상속받고자 하는 class명을 의미 합니다.

 즉, 새로운클래스명(상속받고자하는_기존_클래스명)

2. 기존 클래스의 __init__ 함수의 내용을 가져오고자 할때는 

super().__init__() 함수를 사용하면 됨.

 

 

 

 

 

 

 

 

 

JSS2를 JSS와 같은 기능을 하도록 그대로 쓰고자 한다면, 위쪽처럼 class JSS2(JSS)로 선언 후 pass 하게 되면 그 아래 내용처럼 JSS2를 실행했을때 JSS와 같은 기능을 하는것을 확인할 수 있다.

 

 

관련글 더보기