Backend/Python

Python 파이썬 객체지향 프로그래밍

쏠솔랄라 2023. 7. 3. 21:33

 

 

객체지향프로그래밍(OOP : Object Oriented Programming)

 

: 객체 중심의 프로그램을 작성하는 방식
객체 끼리의 상호 작용을 통하여 프로그램을 작성하는 방식
 


부품화

캡슐화==클래스
: 속성과 기능을 하나의 블록으로 묶은것

정보은닉
속성과 기능을 보호하기 위해서 접근을 제한하는 것
프로그램의 안정적 구현을 위해

상속성
: 클래스끼리 물려주거나 물려받는 것

다형성
: 다양한 형태나 성질
하나의 객체를 여러개의 클래스로 표현하는 것
  

 

객체와 클래스

 

 

객체(Object)
: 사전적인 의미로는 현실세계에 존재하는 모든 것들 ; 하나의 대상체들

어떤 대상을 표현하기위한 정보(속성)를 저장할수 있는 공간과 
그 공간을 컨트롤할 수 있는 기능(메소드)을 하나의 루틴으로 묶은 개별적인 개체로써 표현되는 변수
클래스라는 사용자 정의 자료형으로 만들어진 변수
 

클래스
: 어떤 대상을 표현하기 위한 정보(속성)를 저장할수 있는 공간과 
그 공간을 컨트롤할 수 있는 기능(메소드)을 하나의 블록으로 묶어서 정의한 사용자 정의 자료형

 


클래스의 구성요소
: 속성 + 기능 + 보안(정보은닉)
멤버변수 + 멤버메소드 + 접근지정자 = class (사용자 정의 자료형)

 


클래스 상세 구조

class 클래스명:
  클래스정의
  멤버변수 : 데이터저장공간

 

 

멤버 메소드 : 클래스의 기능
생성자 : 클래스 객체 생성시 단 한번만 호출되는 메소드 ; 객체의 초기 설정
소멸자 : 클래스 객체 소멸시 단 한번만 호출되는 메소드 ; 객체 정리
setter : 멤버 변수의 값을 셋팅하는 메소드
getter : 멤버 변수의 값을 반환 하는 메소드
user 메소드 : 사용자 필요에 의해 만들어지는 메소드

※ 클래스명은 클래스의 성격이 연상되는 단어로 이름을 지어준다