Notice
Recent Posts
Link
Tags
- spring boot
- 자바
- Django
- static
- 프로그래머스
- string
- spring security 6
- 스프링
- ORM
- SSL
- hibernate
- springboot
- select
- AWS
- join
- jpa
- mysql
- @transactional
- sql
- 문자열
- PYTHON
- nginx
- 1차원 배열
- java
- spring mvc
- 데이터베이스
- Docker
- spring
- DI
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Archives
개발하는 자몽
[Python] 메소드 오버라이딩 본문
SpringBoot로 개발을 하다가 이번에 Python(Django)으로 개발하게 되었다. 파이썬을 공부하면서 헷갈렸던 내용을 몇 가지 정리해보려고 한다. 첫 타자는 메서드 오버라이딩!
파이썬도 다른 언어처럼 메소드 오버라이딩이 크게 다르지 않을 거라 생각했는데, 생각보다 좀 헷갈려서 정리하게 되었다.
설명보다는 코드 위주로 정리한다.
오버라이딩(Overriding)
기본적인 오버라이딩 방법이다. 부모클래스의 메서드와 동일한 이름으로 메서드를 생성한다. 아래 코드를 실행하면 인스턴스가 메서드를 호출할 때 오버라이딩한 메서드가 호출된다.
class Person:
def greeting(self):
print("hello")
class Student(Person):
def greeting(self): # Person 클래스의 greeting 메서드를 무시하고 Student 클래스에서 새로운 greeting 메서드 생성
print("hello. i am a student")
jaamong = Student()
jaamong.greeting() # hello. i am a student
중복 줄이기
super()를 사용하여 부모 클래스의 메서드를 호출하여 중복("hello")을 줄였다.
class Person:
def greeting(self):
print("hello")
class Student(Person):
def greeting(self):
super().greeting() # 부모 클래스의 메서드를 호출하여 중복 줄이기
print("i am a student")
jaamong = Student()
jaamong.greeting()
# hello
# i am a student
출처
파이썬 코딩 도장: 36.4 메서드 오버라이딩 사용하기
이번에는 파생 클래스에서 기반 클래스의 메서드를 새로 정의하는 메서드 오버라이딩에 대해 알아보겠습니다. 다음과 같이 Person의 greeting 메서드가 있는 상태에서 Student에도 greeting 메서드를 만
dojang.io
'Python' 카테고리의 다른 글
Ubuntu 환경에서 특정 버전의 파이썬 제거하기 (0) | 2024.03.08 |
---|---|
[Python/Django] Windows 10에서 가상 환경, Django 설치 (0) | 2023.09.18 |
[Python] 속성(Attribute) (0) | 2023.09.14 |
[Python] pass를 사용하는 이유 (0) | 2023.09.11 |