본문 바로가기

전체 글124

[PYTHON] 추상클래스 #추상클래스 # - 부모의 역할을 수행하기위한 클래스 # - 자식클래스에서 구현했으면 하는 메소드의 틀을 만들어 놓은 클래스 # - 추상 메소드를 하나라도 포함하고 있으면 추상 클래스가 된다 # - 객체 생성 불가 # - 파이썬같은 경우 기본문법으로 제공하지 않는다 # - 모듈을 추가해주어야 한다 ex) abc #import abc from abc import * class Animal(metaclass = ABCMeta): def __init__(self,name) -> None: self.name = name #추상메소드 - 메소드의 틀,껍데기메소드 # - 반드시 자식클래스에서 오버라이드를 해주어야 한다 @abstractmethod def bark(self): pass def disp(self): p.. 2023. 7. 5.
[PYTHON] 바인딩과 다형성 #바인딩 - 실제 호출될 함수를 연결하는 것 #정적바인딩 - 호출할 함수를 변수의 타입으로 결정하는 것 #동적바인딩 - 호출할 함수를 인스턴스 공간의 타입으로 결정하는 것 # 다형성 # - 다양한 형태나 성질 # - 하나의 객체를 여러 개의 클래스로 표현하는 것을 말한다 # - 상속이 기본 # - 클래스를 기능별로 분리하여 통합적인 처리를 하기 위해서 사용된다 # - 업캐스팅을 바탕으로 이루어진다 # - 부모의 참조형변수안에 자식클래스의 인스턴스 공간의 정보가 저장되는 형태 class Animal: def __init__(self,name) -> None: self.name = name def bark(self): print("????????") def disp(self): print("이름 : {}"... 2023. 7. 5.
[PYTHON] 상속 상속 - 클래스끼리 물려주거나 물려받는 것을 말한다 - 물려준 클래스(부모클래스,super)의 속성과 기능을 물려받는 클래스(자식클래스,sub)에서 사용이 가능하도록 만들고, 추가적인 표현을 통하여 새로운 클래스를 만드는 문법 - 클래스의 재사용(재활용) - 프로그램의 유연성(추가 수정 삭제 ~ )을 증대 시키기 위해서 사용된다 - 상속시 주의 사항 1. 아무리 자식이더라도 부모의 private 멤버는 접근 불가 2. 자식클래스에서 부모클래스를 명시한다 - 형식 - class 자식클래스명(부모클래스명) : 코드정의 class Info: count = 0 def __init__(self,name = None,age = 0) -> None: print("부모 생성자 호출") Info.count+=1 self.. 2023. 7. 5.
[PYTHON] 클래스(소멸자) class Info: count = 0 def __init__(self,name = None,age = 0) -> None: print("생성자 호출") Info.count+=1 self.__name = name self.set_age(age) #self.__age = age #setter def set_age(self,age): if age < 1: print("나이를 잘못입력하셨습니다.") self.__age = 1 return self.__age = age #getter def get_age(self): return self.__age @property def name(self): return self.__name @name.setter def name(self,name:str): if name._.. 2023. 7. 4.
[PYTHON] 클래스(Class) 객체지향프로그래밍(OOP : Object Oriented Programming) - 객체 중심의 프로그램을 작성하는 방식 - 객체 끼리의 상호 작용을 통하여 프로그램을 작성하는 방식 - 부품화 - 캡슐화 == 클래스 - 속성과 기능을 하나의 블록으로 묶은 것 - 정보은닉 - 속성과 기능을 보호하기 위해서 접근을 제한하는 것 - 프로그램의 안정적 구현을 위해서 - 상속성 - 클래스 끼리 물려 주거나 물려받는 것 - 다형성 - 다양한 형태나 성질 - 하나의 객체를 여러개의 클래스로 표현하는 것들 객체(Object) - 사전적인 의미로는 현실세계에 존재하는 모든 것들 하나의 대상체들 - 어떤 대상을 표현하기 위한 정보(속성)를 저장할수 있는 공간과 그 공간을 컨트롤 할 수 있는 기능(메소드)을 하나의 루틴으로.. 2023. 7. 3.
[PYTHON] 디폴트 매개변수 #디폴트 매개변수 # - 인자값이 없더라도 매개변수에 기본 지정값을 통하여 초기화를 해주는 기능 # - 함수의 수를 줄이고 통합적인 처리를 하기 위해서 만들어진 문법 # - 매개변수에 대입 연산자를 통해 기본값으로 지정하면 된다 #디폴트 매개변수 주의사항 # - 인자 값을 적은 순서대로 매개변수 왼쪽부터 차례로 들어간다 # - 디폴트 매개변수를 정의할 때는 반드시 가장 우측부터 정의해야 한다 def disp(a,b = 10, c = 30): print(a, b, c) disp(1) disp(1,2) disp(1,2,3) #키워드 인자 # - 매개변수에 들어갈 데이터를 지정하여 넣는다 # - 필요에 따라 매개변수를 지정하여 데이터를 넣어줄 수 있다 # - 호출할 때는, 매개변수명 = 인자값 disp(1, .. 2023. 7. 3.