본문 바로가기
컴퓨터사이언스

객체지향

by 데이터 시오 2024. 6. 5.
728x90
반응형

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 데이터 필드

클래스 내부에서만 접근 가능

앞 두 밑줄(__)로 정의

 

 

728x90

'컴퓨터사이언스' 카테고리의 다른 글

반복구조  (0) 2024.06.03
선택 구조  (0) 2024.06.03
인공지능  (0) 2024.05.28
빅데이터  (0) 2024.05.28
스마트 자동차  (0) 2024.05.28