객체지향프로그래밍(OOP : Object Oriented Programming)
: 객체 중심의 프로그램을 작성하는 방식
객체 끼리의 상호 작용을 통하여 프로그램을 작성하는 방식
부품화
캡슐화==클래스
: 속성과 기능을 하나의 블록으로 묶은것
정보은닉
속성과 기능을 보호하기 위해서 접근을 제한하는 것
프로그램의 안정적 구현을 위해
상속성
: 클래스끼리 물려주거나 물려받는 것
다형성
: 다양한 형태나 성질
하나의 객체를 여러개의 클래스로 표현하는 것
객체와 클래스
객체(Object)
: 사전적인 의미로는 현실세계에 존재하는 모든 것들 ; 하나의 대상체들
어떤 대상을 표현하기위한 정보(속성)를 저장할수 있는 공간과
그 공간을 컨트롤할 수 있는 기능(메소드)을 하나의 루틴으로 묶은 개별적인 개체로써 표현되는 변수
클래스라는 사용자 정의 자료형으로 만들어진 변수
클래스
: 어떤 대상을 표현하기 위한 정보(속성)를 저장할수 있는 공간과
그 공간을 컨트롤할 수 있는 기능(메소드)을 하나의 블록으로 묶어서 정의한 사용자 정의 자료형
클래스의 구성요소
: 속성 + 기능 + 보안(정보은닉)
멤버변수 + 멤버메소드 + 접근지정자 = class (사용자 정의 자료형)
클래스 상세 구조
class 클래스명:
클래스정의
멤버변수 : 데이터저장공간
멤버 메소드 : 클래스의 기능
생성자 : 클래스 객체 생성시 단 한번만 호출되는 메소드 ; 객체의 초기 설정
소멸자 : 클래스 객체 소멸시 단 한번만 호출되는 메소드 ; 객체 정리
setter : 멤버 변수의 값을 셋팅하는 메소드
getter : 멤버 변수의 값을 반환 하는 메소드
user 메소드 : 사용자 필요에 의해 만들어지는 메소드
※ 클래스명은 클래스의 성격이 연상되는 단어로 이름을 지어준다
'Backend > Python' 카테고리의 다른 글
Python 파이썬 접근 제한자(지정자, 제어자) (0) | 2023.07.04 |
---|---|
Python 파이썬 생성자 객체 생성 순서 (0) | 2023.07.04 |
Python 파이썬 디폴트매개변수, 키워드인자, 가변인자 (0) | 2023.07.03 |
Python 파이썬 Dictionary 함수 및 예제 (0) | 2023.07.03 |
Python 파이썬 함수 (0) | 2023.07.03 |