
1. 객체지향의 이해
> 객체지향의 개념
객체와 객체 사이의 상호작용으로 프로그램을 구성하는 프로그래밍 패러다임
프로그램을 유연하고 변경을 쉽게 만들어 대규모 소프트웨어 개발에 사용
객체지향 패러다임의 특징
1. 추산화 - 공통의 속성이나 기능을 도출
2. 캡슐화 - 데이터 구조와 데이터의 연산을 결합
3. 상속 - 상위 개념의 특징이 하위 개념에 전달
4. 다형성 - 유사 객체의 사용성을 그대로 유지
>객체와 클래스
객체는 추상화와 캡슐화의 결과
실세계의 사물에 대한 상태 & 연산을 표현한 단위
> 클래스 정의
구문형식 :
class 클래스 이름 :
초기자 정의
메소드 정의
메소드 method
객체에 대한 행동(연산)을 정의
함수의 정의 및 사용 방법과 동일하다
초기자 initializer
객체의 상태를 초기화하는 특수 메소드
항상 __init__ 으로 명명한다
2. 클래스와 인스턴스
구문형식 -- 클래스 이름 ( 초기자 파라미터 )
클래스의 생성자를 통해 클래스의 인스턴스 생성
객체와 인스턴스는 동일 개념
클래스의 생성자는 클래스의 이름과 동일하다
클래스의 이름과 초기자의 매개변수를 사용하여 생성자를 호출
> 객체의 사용
객체의 데이터 필드 접근 및 메소드 호출
3. 객체지향의 활용
str 메소드
메소드 | 설명 |
upper(), lower() | 대/소 문자로 변경 |
title() | 각단어의 첫 글자를 대문자로 변경 |
strip(), rstrip(), lstrip() | 양쪽/왼쪽/오늘쪽의 특정 문자를 제거 |
replace() | 문자열 특정 부분을 대체 |
split() | 구분자로 분할하여 리스트로 반환 |
> 데이터 필드 감추기
데이터 은닉 Data Hiding
데이터 필드의 직접 변경을 방지하기 위해 사용자의 직접적 접근을 차단
public과 다른 private 데이터 필드로 정의
> private 데이터 필드
클래스 내부에서만 접근 가능
앞 두 밑줄(__)로 정의