Dev metacog/Common

프로그램 용어

잘 배우고, 잘 익히기 2021. 4. 11. 17:02

프로그램 상에 중요하게 언급되고 있는 키워드 중심으로 아래와 같이 정리합니다. 

python 클래스의 self 클래스 자체를 의미, 클래스를 통해서 다수의 객체를 생성할 때 개별 객체를 구분하는 역할
클래스 정보 + 처리;   정보는 데이터 이며, 처리는 함수(메소스)
메소드 클래스 내에서 사용되는 함수
이벤트 루프  GUI 프로그램이 'X' 버튼을 누를 때까지 종료되지 않고 실행되는 루프
 - GUI 프로그램에서는 '이벤트 루프' 가 for나 while가 같은 '루프'가 계속 실행되게 해주는 역할 
상속 메소드 참조 먼저 자신의 메소드 검색 후 부모 클래스의 메소드 검색
파이썬의 속성 접근 파이썬에서는 객체를 통해서 속성에 접근
파이썬의 클래스 속성 데이터와 메소드 통틀어서 속성이라고 함
클래스 속성 참조 순서 객체 내부에 해당 속성> 해당 객체에 대한 클래스로 이동> 부모 클래스의 속성 검색

  class Parent()
      def walk(self):
           print("walk")
  class subChild(Parent):   # Parent Class를 상속
      def run(self):
           print("run")
  moving = subChild() # 상속 받은 클래스의 객체 생성 
  moving.walk()   # 부모의 메소드 호출(부모룰 상속 받았으므로 부모 클래스의 메소드 이용 가능)
  moving.run()    # 자신의 메소드 호출   

콜백 함수 

다른 함수의 인자로써 이용되는 함수
어떤 이벤트에 의해 호출되어지는 함수

콜백 함수 사례 프로그래머가 직접 메서드를 호출하는 것이 아니라
이벤트 루프가 메서드를 호출하기 때문에 '콜백 함수'

 - 파이썬 GUI프로그램의 경우 이벤트를 발생될 때 이벤트 루프가 해당 이벤트에 연결되어 있는 메서드를 호출
 예시) QApplication() 객체를 생성한 후 exec_() 메서드를 호출하면 이벤트 루프가 생성되는데 이벤트 루프는 루프를 돌고 있다가 사용자가 이벤트를 발생시키면 (예: 버튼 클릭) 이벤트에 연결된 메서드를 호출해주는 역할
  코드 예시) 
 class MyWindow(QMainWindow):
    def __init__(self):
         super().__init__()
         btn = QPushButton("버튼", self )
         btn.clicked.connect(self.btn_clicked)
    def btn_clicked(self):
         print("버튼 클릭")
app = QApplication(sys.argv)
window = MyWindow()
app.exec_()