일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- JavaScript
- CDD
- 객체지향
- frontend
- 계산기
- OOP
- css in js
- 회고
- JS
- 코드스테이스
- css
- condestates
- Prototype
- WAI-ARIA
- 원시자료형
- 참조자료형
- 개발자
- cta button
- 프론트엔드
- self reliance
- Javascript #코드스테이츠
- codestate
- 프로토타입
- 자바스크립트
- cta버튼
- Router
- 코드스테이츠
- codestates
- html
- 호스트인식
- Today
- Total
jh.nrtv
Python의 Class 문법 ( feat. 객체지향 프로그래밍 , __init__ , self ) 본문
Class는 Python에서 객체지향 프로그래밍을 가능하도록 한다.
객체지향 프로그래밍?
몇 번을 찾아서 공부해도 새로운 객체지향 프로그래밍 ...
객체 지향 프로그래밍은 먼저 객체를 정의한다.
객체는 멤버 변수(데이터)와 멤버 메소드(자신의 상태(데이터)를 변경하는 함수) 로 구성된다. 이러한 객체들이 서로 상호작용하여 객체의 상태가 바뀌어 원하는 결과를 얻는 프로그램 방식이 객체지향 프로그래밍이다.
객체지향 프로그래밍은 4가지 속성을 가진다.
1. 추상화 2. 캡슐화 3.상속 4. 다형성
모호하긴 하지만 '객체'라는 단어는 개념적인 단어이기에 사물이나 추상적인 개념, 클래스, 인스턴스 등 우리가 인식할 수 있는 모든 것을 통칭할 수 있으며 동시에 그것을 담을 수 있는 공간이다.
인스턴스(instance)는 클래스 정의로부터 실제 객체를 생성한 것을 인스턴스라고 한다.
Class의 사용
클래스의 선언은 class 로 시작해서 뒤에 클래스 이름을 적고 콜론(:)으로 행을 마친다.
메소드는 일반적인 함수와 같은 형식으로 작성을 할 수 있는데, 한가지 차이점은 함수의 인자중에 첫번째는 반드시 self 이어야 한다. 이 인자는 메서드를 호출할 때는 없는것처럼 사용된다. self의 의미는 클래스 자신을 가리키는 것이다.
메소드 호출시 파이썬이 내부적으로 클래스 자체의 참조를 넘기게 된다.
클래스의 사용은 x = MyClass() 처럼 객체를 인스턴스화 하고(객체를 생성하고) 사용하면 된다.
사용은 x.print("Hello, Python") 에서 처럼 객체 변수에 마침표(.) 를 사용해서 멤버를 사용한다.
클래스를 생성할 때 필요한 값을 줄 수 있는 생성자로 __init__() 메소드가 제공 된다.
class ThisIsClass:
name = "user"
def __init__(self, name):
self.name = name
def print(self, str):
print(self.name + " " + str)
x = ThisIsClass("JH")
x.print("made own class")
# JH made own class
'python' 카테고리의 다른 글
[Python] 순열, 조합 , 중복순열, 중복조합 (0) | 2023.09.30 |
---|---|
Python의 print()안에 sep, end 파라미터 (0) | 2023.08.13 |