23주차. 클래스의 기본

09Roalwlzm01·2023년 11월 28일
0

Python

목록 보기
32/36

객체 지향 프로그래밍

  • 객체를 우선으로 생각하는 프로그래밍 방법론
  • 객체를 만들고 객체 간의 상호작용을 중심으로 개발하는 방법론
  • 클래스 기반의 객체 지향 프로그래밍 언어는 클래스를 기반으로 객체를 만들고, 그러한 객체를 우선으로 생각하여 프로그래밍함

객체 (object)

  • 여러 가지 속성을 가질 수 있는 모든 대상
  • 사람이라는 객체
    - 이름, 나이, 성별, 키, 몸무게, 가슴 둘레, 허리 둘레 등의 다양한 속성을 가지며, 객체를 완벽하게 재현하기 위해서는 많은 속성을 알고 있어야 함

추상화

  • 필요한 요소만 가지고 객체를 표현하는 것
  • 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것
  • 사람이라는 객체를 프로그램에서는 필요한 정보(생년월일, 키, 몸무게 등)만 추려서 추상화

학생 성적 관리 프로그래밍




  • 학생이라는 객체
    • 이름, 학번, 과목별 성적 등의 속성을 가짐
    • 딕셔너리로 표현
  • students(학생들)라는 객체
    - 여러 학생을 속성으로 가짐
    - 리스트로 표현
    -> 복잡함
  • 학생이라는 객체와 관련된 기능을 전반부에 구현하고, 객체를 사용하는 처리는 후반부에 구현
    • 학생 객체와 관련된 기능을 별도의 모듈로도 구현
    • 객체와 관련된 코드를 분리할 수 있게 하는 것이 객체 지향 프로그래밍의 핵심

클래스

  • 객체를 쉽고 편리하게 생성하기 위한 구문
    - 객체와 관련된 코드를 쉽게 분리하여 구현할 수 있게 함

클래스 선언하기

  • 관례적으로 파이썬에서 클래스 이름은 대문자로 시작하는 캐멀 케이스로 작성

객체 생성하기

  • 인스턴스 : 클래스를 기반으로 만들어진 객체


생성자

  • 클래스 이름과 같은 함수
  • 클래스 내부에 __init__()이라는 함수를 만들어 객체를 생성할 때 처리할 내용을 작성
class 클래스이름:
	def __init__(self, 매개변수):
    	코드
  • self
    - 자기 자신(객체)를 나타내는 식별자
    - self가 가진 속성(필드)이나 기능(함수)에 접근할 때는 self.식별자의 형태로 접근
    - 클래스 내부의 함수는 첫 번째 매개변수로 반드시 self를 입력해야 함





메소드

  • 클래스가 가지고 있는 함수
class 클래스 이름:
	def 메소드 이름(self, 추가적인 매개변수):
    	코드



객체 지향 프로그래밍 언어

- 객체를 기반으로 프로그램을 만드는 프로그래밍 언어
- Python, Java, JavaScript, C++, C#, Objective C, Scala, Swift, Ruby, etc.
- 클래스를 기반으로 객체를 만들고, 그러한 객체를 우선으로 생각하여 프로그래밍

0개의 댓글