[파이썬 기초 14강] 파이썬 클래스, 객체, 인스턴스, 생성자, 메서드, self 개념 총정리!! 정말 쉽게 설명해 드립니다.
HTML-код
- Опубликовано: 8 фев 2025
- 안녕하세요.
코딩을 가장 쉽게 알려주는 크리에이터 스타트코딩입니다.
코딩 공부 하시는 분들 중에 클래스가 어려워서 많이 포기하시는데요.
제가 쉽고 재미있게 개념을 정리 해드리겠습니다.
클래스, 객체, 인스턴스, 생성자, 메서드, self 용어까지 머리에 쏙쏙 넣어 드려요.
어렵고 불친절한 코딩 강의에 지치셨나요?
스타트코딩이 여러분들을 힘껏 도와 드리겠습니다.
--------------------------------------------------------------------
한번 알면 평생 쓰는 코딩 기술 '파이썬' 대공략집
유튜브 보는 곳 • 한번 알면 평생 쓰는 코딩 기술 ‘파이썬...
--------------------------------------------------------------------
--------------------------------------------------------------------
한번 알면 평생 쓰는 코딩 기술 '파이썬' 대공략집
유튜브 보는 곳 ruclips.net/video/cZVOluN1rrc/видео.html
--------------------------------------------------------------------
대학교수업으로 배우는데 교수님이 쓱 보여주고 넘어가서 몰랐었는데 이제 이해가네요
9:00 설명은 지렸다 ㅠㅠ 한방에 이해됐어요
오 이해력이 좋으십니다
확실히 지식을 많이 알고 있는 사람도 멋진 사람이지만, 자신이 알고 있는 지식을 무지한 사람들에게 잘 알려주는 것도 굉장히 멋지네요!!
좋은 말씀 감사합니다!! 😊😊
큰 도움 받고 갑니다. 등록금은 학교에 내는데 정작 이해는 유튜브에서 하게 되는 이 씁쓸한 현실...
엇!! 후원 감사합니다 :)
아무래도 학교에서는 코딩을 쉽게 설명해주지 않죠 ㅠㅠ
친절하고 해석하는 방법을 알려주셔서 감사합니다 큰 도움 됐습니다
도움이 되셨다니 기분이 참 좋군요! 😄
아 드디어 찾았다.. 몇 년전에 보고 코딩 다시 시작하는데 클래스 이영상만큼 알아먹게 설명하는 영상이 없음.. 감사함돠..
좋아유 다시 제대로 시작해봅시돠!
옛날에 class 생성자 및 self 이해하는데 정말 어려웠는데 설명 진짜 잘하시네요. 저는 다 알고 다시 듣는 입장이지만 처음 배울 때 헷갈렸던 거 생각하면 정말.... 진작 이걸 들었으면 좋았을텐데 싶네요. 전 개인적으로 속성name과 파라미터name을 같은 명칭으로 사용하는, 이 통상적인 컨벤션을 좀 바꿨으면 좋겠어요ㅋㅋ 같은 이름을 쓰다보니 초보자들은 배울때마다 헷갈리는듯
칭찬해주셔서 감사합니다! ㅎㅎ
말씀하신대로 수강생들이 속성과 파라미터 이름이 같아 헷갈려해요. 그래서 요즘은 가르칠 때 이름을 서로 다르게 하고 있습니다 ㅎㅎ
와, 제가 지금까지 찾아본 클래스 관련 블로그, 동영상들 통틀어서 제일 깔끔하게 개념 정리가 되네요. 감사합니다!!
최고입니다
후후 감사합니다!!
감사합니다
🥰
많은 class영상을 보았지만, init과 self에 대한 설명이 부족하거나 '기본값'이라고만 배우게 되어
답답함이 있었는데 해당 영상을 보고 정말 많은 이해가 되었습니다. 감사합니다.
열심히 들어 주셔서 감사합니다 :)
큰 도움이 되었습니다.
도움이 되었다니 다행이네요!!!
학교 교수님 강의 반복으로 들어도 이해안되다가 바로 이해되네 ㅋㅋ
이제 저를 교수님으로 따르십쇼
유용한 강의 감사합니다
❤️❤️
무엇이든 쉽게 알려주기가 가장 어려운데 그것을 해주는군요. 감사합니다.
다른 강의 듣다가 이해 안 됐던 거 한 번에 이해됐어요! 감사합니다.
이해가 바로 되었다니 기분 좋네요!ㅎㅎ
감사합니다.. 덕분에 제대로 이해했습니다 감사합니다감사합니다ㅠㅠ
감사합니다 삼창까지... 저도 감사합니다 ㅠㅠ
1.5배속하니 귀에 쏙쏙 들어오네요 저처럼 잡생각 많이 나시는 분들은 1.5배속하고, 자막켜고 들으시길 권장드립니다.
감사합니다 ^^
초보자 분들을 위해 말을 천천히 하고 있습니다.
수강생 수준에 따라 1.25 또는 1.5로 들으시는 것을 권장드립니다.
선생님 항상건강하시고 복 많이 받으세요,,, 감사합니다.
좋은 말씀 감사합니다!!
수강생분도 항상 건강하고 복 많이 받으세요
설명 너무 좋습니다. 감사합니다.
감사합니다 ♥
다른 강의듣고 이해 하나도안돼서 찾아보고있었는데 바로 이해됐습니다 감사합니다
ㅋㅋ 다들 그렇게 말씀하더라구요 감사합니다 :)
이해가 정말 잘갑니다.
😘
안녕하세요. 감사히 잘 봤어요.
파이선 초보자에요.
제가 이해한 셀프는 클래스 작성시 객체의 자리, 혹 명찰을 만들어 놓은 거에요.
객체를 지정하여 인자를 줄 때 셀프 대신 객체가 들어가서 객체.인자 가 되는 거에요.
생성자에서 매개변수를 받아 객체와 연결할 때 같은 명칭을 써서 혼동되면 다르게 명명하면 쉬워요.
그러면 생성자 이후 메소드 작성할 때 생성자에 지정한 매개변수가 아니라 객체와 연결된 변수를 써야지요.
메소드에 객체 연결 없는 매개변수를 지정하여 모든 객체 공용으로 쓸 수도 있겠지요. 필요에 따라 만들면 되니까.
붕어빵과 빵틀 예이면 셀프에 팥맛, 밤맛, 크림 등의 속 종류나 손님을 이름이나 번호로 구분하는 객체를 연결하는 거지요.
객체 이름을 밤맛이라고 매개변수 이름과 같이 했어도 밤맛.속 = 밤맛 이 되어 셀프 자리의 밤맛은 객체 이름이고 = 뒤의 밤맛은 인자(속성) 이름이에요.
혼동되면 손님1 이 밤맛 을 주문했다고 정하고 손님1.속 = 밤맛 하면 구분이 쉽겠지요.
빵 크기가 다르게 틀이 만들어 졌다면 메소드에서 객체 연결 없이 매개변수를 만들면 크기를 결정하는 인자를 공용으로 주문 받을 수도 있겠지요.
크기 인자가 지정되지 않으면 인자가 하나 없다고 오류 발생하니 빼 먹을 일도 없지요.
제품 도면이나 공장 예이면 셀프에 색상 등의 종류나 배달될 대리점이나 손님 이름이 객체로 들어가는 거에요.
자동차 클래스를 적색 객체로 지정했다면 셀프와 연결된 셀프.매개변수 가 적색.인자 로 함수(메소드)에서 처리되어 출력되지요.
class Test:
def __init__(self, text, number):
self.name = text
self.age = number
def display(self, tv):
device = tv
print(self.name, self.age, device)
jay = Test('String', 12)
jay.display('LG')
String 12 LG
2024년 11월 18일 월 04시 태평양 시간
감사합니다
감사합니다!! 민영님~
쉽고 깔끔하게 잘 성명해 주시네요. 한 수 배워갑니다~
공감+1
질 좋은 강의 감사드립니다. 영어 강의 들으면서 이해가 안돼서 끙끙대고 있었는데, 덕분에 잘 이해되었습니다. 감사합니다.
🥰🥰
진짜 이해 쏙쏙 잘 돼요 감사합니다~~~
☺☺
와 진짜 감사합니다... 9:17처럼 대입해서 설명해주셔서 바로 이해 갔습니다!!! ㅠㅠ
설명이 너무 쉬워서 쏙쏙 들어옵니다. 금방 이해가 되네요. 감사합니다.
감사합니닷!!!♥
클래스 너무 어려웠는데 감사합니다 이해가 쏙 잘 됩니다 ㅎㅎ
🤗
정말 감사요
😁😁
와 처음으로 이해 되었어요 ㅠㅠ 제가 들었던 강의 중 제일 이해 잘 되고 친절한 강의 였어요!! 너무너무 감사합니다 ㅠㅠ
우와 ㅎㅎ 기분 좋아지는 말 감사합니다!! 궁금한거 있으면 언제든 물어보세요~
이해하기 너무 쉬워요. 덕분에 클래스가 좀 이해 된 것 같아요 감사합니다!
좋게 봐줘서 고마워여 ☺☺
클래스 기다렸습니다ㅎㅎㅎ
군 전역하고 2학년과목으로 자료구조 배우느라 파이썬 복습중인데 도움이 많이됩니다!
좋게 봐주셔서 캄사합니다!!
어렵긴 한데 설명을 쉽게 잘 해 주시네요.💯
감사합니다!
덕분에 이해할 수 있었습니다..
정말 감사합니다😭😭
(뿌듯)
복습하는데 도움이 되었습니다.
개인이나 팀 프로젝트할 때 class 사용을 피해갈 수 없는거 같아요😀
감사합니다 👍👍
선생님 진짜 설민석 선생님 수업만큼 재밌고 이해가 너무잘돼요......... 너무 감사합니다...
설민석이라니 과찬이십니다 ㅋㅋㅋ
와 이해 안되서 계속 책봤었는데, 유튜브 보고 바로 이해 됐어요. 감사합니다 슴상님!
🫰
감사합니다
강의력 레전드시네요 교수님 해주세여 ㅠ
주변에 코딩 어려워하는 사람들에게 전파해 주세용 🥰
오우 감사합니다. 이거 보고 클래스 정리완료!
오우 캄사합니다!
너무 도움 많이 되었습니다 !!
베스트셀러 기초 책에서 보던 것보다 훨씬 깔끔합니다ㅎㅎ
기분이 좋네요 도움이 되었다니 :)
오 감사합니다. 이해가 잘 되네요.
😀
용어표와 흐름선 덕분에, 여태까지 찾아본 클래스 유튜브 영상 중에서 가장 이해하기 쉬운 설명 영상인 것 같네요.
하지만 그럼에도 어렵다는...ㅜㅜ
감사합니다
클래스는 웹개발이나 GUI개발 할 것 아니면, 간단하게만 알고 넘어가도 괜찮아요~ ㅋㅋ
고맙습니다 덕분에 이해했어요
잘보겠습니다 고마워요
☺☺
설명을 정말 쉽게 해주십니다. 감사합니다!
도움이 좀 되셨나요? ㅎㅎ
처음 클래스공부해보는데 재밌어용ㅎㅎ
클래스 공부가 재밌으면 변태입니다
@@startcoding.official 차분히 쉽게설명해주셔서 굳이에여>
감사합니다ㅏ
이해가잘돼요👍
친절한 설명 감사드립니다. 혼자 공부할 때보다 훨씬 이해가 잘 되네요 이런 걸 무료로 볼 수 있다니..
좋게 봐주셔서 감사합니다 🥰🥰
감사합니다!!
😉😉
진짜 설명을 잘하십니다. 감사해요~^^
다른 영상도 보면서 공부하겠습니다.
좋은 강의 감사합니다
감사합니다!
잘듣고 갑니다!!
20년전에 씨뿔뿔 공부하면서 이해하고 있었던 객체와 메소드를 너무 쉽게 가르쳐 주시는군요. 감사합니다. 앞으로 잘 부탁드려요.^^
좋은 설명 감사합니다
정말 쉽게 알려주셔서 감사합니다!! 제가 본 코딩 강의 중에 제일 이해가 잘 됐어요~!
감사합니다!! 🎁🎁
3:17 오브젝트=객체, 인스턴스= 개체
객체= 말,돼지, 고양이... , 인스턴스 = 1번말, 2번말, 3번말 ...
Good!
정말 잘 보고있습니다. 언젠가 쓰레드에 대해서도 알고싶어요..ㅎㅎ
클래스 관련해서 전에 공부를 한 적이 있지만, 꽤 오래전 일이라 다시 복습하기 위해 영상을 찾아봤는데 알기 쉽게 설명해주셔서 정말 감사합니다.
감사합니다!!
잘 듣겠습니다. 감사합니다!
오 선생님 설명을 너무 잘 해주세요 이후의 강의는 없는건가요 인강이라도요
칭찬해주셔서 감사합니다! ㅎㅎ
개인적으로 추천하는 제 인강은
startcoding.liveklass.com
여기 있으니까
필요하시면 한번 들어보세요~ ㅎㅎ
2:11 용어정리
생성자는 객체를 만들때 실행되는 함수인데 그 함수는 클래스가 갖고 있고
그래서 클래스를 객체들이 사용하는 범용함수를 품고 있기에 설계도에 비유하는거 아닌가요
객체가 클래스의 함수를 사용하니 함수 하나만 정의 설정하면 각 객체가 각자 함수를 만들지 않고
그냥 크래스 이름만 적어면 사용하고 이때 클래스는 이러한 객체를 받아주는 문 또는 방 통로가 있어야 하고 그것이 셀프 객체 머 그런거 아닌가요
5:34 저.. 클래스() 로 부터 나온 객체를 변수에 할당한다.. 오타같습니다. 객체에 넣는다는게 옳은표현아닌가요?
객체랑 변수랑 같은게 아니잖아요?
클래스()가 실행되면 객체가 만들어 지고, 만든 객체를 변수에 할당한다는 건 맞는 표현입니다 ㅎㅎ
객체는 자료고, 변수는 자료를 담는 그릇이라고 생각하면 돼요 :)
강의 넘 친절하네요. 코딩 포기할 뻔했는데 포기했어요.(뻥)
__init__ 이라는 메서드로만 속성을 추가하는 것인가요? 그냥 클래스 아래에 변수 = 이름 이런식으로 만들면 오류가 나나요?
인스턴스 변수(인스턴스 속성)와
클래스 변수(클래스 속성)이 있는데
__init__ 안에서 만드는 것은 인스턴스 변수
그냥 클래스 아래에 생성하는 것은 클래스 변수
라고 합니다.
차이가 있어요 자세한 내용은 아래 문서를 참고해 보세요 :)
wikidocs.net/1744
메서드가 생성자를 포괄하는 개념인가용?
넵 포괄하는 개념입니닷!
@@startcoding.official 덕분에 이해했습니다 다음 강의도 기대할게요~
7월에 돌아오신다고 하시더니 1년이 지나가는데도 안 돌아오시네요 ㅠㅜㅠㅜ 어디가셨나요? 돌아오세요 ㅠㅠㅜㅠㅜ
저 여기 있습니다!!
유튜브만 쉴뿐이지 강의 꾸준히 하고 있어요 ㅎㅎ
내년에 파이썬 기초 부터 시작해서
싹다 리뉴얼할 계획입니다.
큰거 준비중이니 조금만 기다려 주세요
파이썬 실행파일 관련 질문드려요.
엑셀파일을 읽고 sklearn으로 학습하고 결과값을 엑셀파일에 쓰는 코드인데
실행파일을 만들어서 실행하면 다음과 같은 오류가 나옵니다.
No module named 'sklearn.metrics_pairwise-distances_reduction_datasets_pair'
원래 쩜은 그 공간
안에 아닙니가?
네 비슷합니다
~의 라고 해석하시면 됩니다
지피티님이 운동 때려치고 코딩을 하시네요..
이게 챗지피티인가..
녜?
생성자는 객체를 만들때 실행되는 함수인데 그 함수는 클래스가 갖고 있고
그래서 클래스를 객체들이 사용하는 범용함수를 품고 있기에 설계도에 비유하는거 아닌가요
객체가 클래스의 함수를 사용하니 함수 하나만 정의 설정하면 각 객체가 각자 함수를 만들지 않고
그냥 크래스 이름만 적어면 사용하고 이때 클래스는 이러한 객체를 받아주는 문 또는 방 통로가 있어야 하고 그것이 셀프 객체 머 그런거 아닌가요
셀프는 클래스 자신의 객체 인건가요
안녕하세요. 파이선 초보자에요.
제가 이해한 셀프는 클래스 작성시 객체의 자리, 혹 명찰을 만들어 놓은 거에요.
객체를 지정하여 인자를 줄 때 셀프 대신 객체가 들어가서 객체.인자 가 되는 거에요.
생성자에서 매개변수를 받아 객체와 연결할 때 같은 명칭을 써서 혼동되면 다르게 명명하면 쉬워요.
그러면 생성자 이후 메소드 작성할 때 생성자에 지정한 매개변수가 아니라 객체와 연결된 변수를 써야지요.
메소드에 객체 연결 없는 매개변수를 지정하여 모든 객체 공용으로 쓸 수도 있겠지요. 필요에 따라 만들면 되니까.
붕어빵과 빵틀 예이면 셀프에 팥맛, 밤맛, 크림 등의 속 종류나 손님을 이름이나 번호로 구분하는 객체를 연결하는 거지요.
객체 이름을 밤맛이라고 매개변수 이름과 같이 했어도 밤맛.속 = 밤맛 이 되어 셀프 자리의 밤맛은 객체 이름이고 = 뒤의 밤맛은 인자(속성) 이름이에요.
혼동되면 손님1 이 밤맛 을 주문했다고 정하고 손님1.속 = 밤맛 하면 구분이 쉽겠지요.
빵 크기가 다르게 틀이 만들어 졌다면 메소드에서 객체 연결 없이 매개변수를 만들면 크기를 결정하는 인자를 공용으로 주문 받을 수도 있겠지요.
크기 인자가 지정되지 않으면 인자가 하나 없다고 오류 발생하니 빼 먹을 일도 없지요.
제품 도면이나 공장 예이면 셀프에 색상 등의 종류나 배달될 대리점이나 손님 이름이 객체로 들어가는 거에요.
자동차 클래스를 적색 객체로 지정했다면 셀프와 연결된 셀프.매개변수 가 적색.인자 로 함수(메소드)에서 처리되어 출력되지요.
class Test:
def __init__(self, text, number):
self.name = text
self.age = number
def display(self, tv):
device = tv
print(self.name, self.age, device)
jay = Test('String', 12)
jay.display('LG')
String 12 LG
2024년 11월 18일 월 03시 태평양 시간
ㅎㅎㅎㅎㅎ
😎😎
감사합니다.뜨시는건시간문제같아요 저같은 사람이 아래많네요
상어와 늑대가 몬스터?
other 은용,,
개재밌네 ㅋㅋ
def__self
print( )
Syntax error
@@startcoding.official ㅋㅋㅋㅋㅋ
와 미쳤다
왜 class 를 써야하는지 아직 와닿지가 않습니다 .. 허허 def 로 다 쓰긴하는데
GUI개발이나 장고 웹개발 등을 하다보면 자연스럽게 알게되실겁니다 ㅎㅎ
0:35 _
파이썬 내부에서 이미 정의되어있는 특별한 역할을 하는 함수에 _요런 언더바를 붙인다고 교수님이 그러셨어요
html_tag 을 말하시면 단순히 띄어쓰기 맞아요.
스네이크 표기법(Snakecase)은 프로그래밍에서 변수명이나 함수명을 작성할 때 사용하는 방법 중 하나로, 단어와 단어 사이에 언더스코어()를 사용하여 구분하는 방식입니다. 이 표기법은 파이썬과 같은 여러 프로그래밍 언어에서 주로 사용됩니다.
스네이크 표기법의 특징
단어 구분: 각 단어는 언더스코어(_)로 구분됩니다. 예를 들어, "my_variable" 또는 "get_user_input"와 같이 작성합니다.
소문자 사용: 스네이크 표기법에서는 일반적으로 모든 문자를 소문자로 작성합니다. 예를 들어, "user_name"와 같은 형태입니다.
다양한 사용 용도: 변수, 함수, 클래스의 메서드 이름 등에서 주로 사용됩니다. 특히 파이썬의 경우, PEP 8 스타일 가이드에서는 함수와 변수의 이름을 스네이크 표기법으로 작성할 것을 권장합니다.
스네이크 표기법 예시
변수명: user_age, total_price, maximum_value
함수명: calculate_area(), send_email(), get_user_data()
카멜 표기법
카멜 표기법(CamelCase)은 프로그래밍에서 변수명, 함수명, 클래스명 등을 작성할 때 사용되는 표기법 중 하나입니다. 단어를 구분하기 위해 각 단어의 첫 글자를 대문자로 쓰고, 공백이나 구분자는 사용하지 않는 방식입니다. 카멜 표기법은 주로 두 가지 유형으로 나뉩니다: 카멜 표기법과 파스칼 표기법.
카멜 표기법의 유형
카멜 표기법(LowerCamelCase):
첫 번째 단어의 첫 글자는 소문자로 시작하고, 이후의 단어는 대문자로 시작합니다.
예시:
myVariable
getUserInput
calculateTotalSum
파스칼 표기법(UpperCamelCase):
모든 단어의 첫 글자가 대문자로 시작합니다. 클래스명 같은 경우에 주로 사용됩니다.
예시:
MyClass
AccountManager
DataProcessor
카멜 표기법의 특징
가독성: 단어의 경계가 명확하게 구분되므로 가독성이 좋습니다.
구분자 없음: 공백이나 특수 문자를 사용하지 않고, 각 단어를 대문자로 구분하여 작성합니다.
다양한 사용: 변수, 함수, 클래스 등 다양한 식별자에 사용되며, 특히 자바(Java), C#, 자바스크립트(JavaScript) 등의 언어에서 일반적으로 채택됩니다.
카멜 표기법 예시
변수명: userName, totalAmount, itemCount
함수명: fetchData, renderPage, openFile
클래스명: StudentProfile, OrderDetails, PaymentGateway