본문 바로가기
FastCampus/한 번에 끝내는 파이썬 웹 개발 초격차 패키지 Online.

한 번에 끝내는 파이썬 웹 개발 초격차 패키지 49일차

by Dream_World 2021. 10. 24.

파이썬 심화 문법

지금 몹시 졸린 상태이다. 요즘 체력적으로 부족함을 많이 느낀다. 얼른 백신 완료해서 운동을 다시금 시작해야 할 듯하다. 식사 거르는 일이 한 두 번이 아니라 더 힘들 순 있지만, 노력이 필요함을 많이 보인다. 정보보안 공부를 위해서 정보통신기반 취약점 가이드를 블로그에 꾸준히 기록하고자 정리 중이다. 이번에는 단순히 보는 것이 아닌 실습 서버나 네트워크를 구축하여 실 테스트 할 수 있게 해서 대응 방안까지 차례대로 직접 한 부분을 블로그에 작성하려고 구상 중이다. 현재는 면접 준비로 인해 타이틀만 기재한 상태이지만 면접 이후에는 내가 실습한 자료가 계속해서 쓰일 수 있게 하나하나 정리할 수 있게 진행해 봐야겠다. 해야 할 부분이 산더미라 하나씩 쳐 내려고 하루에 하나씩 조그마한 계획을 잡으며 진행 중이다. 정보보안 범위가 넓긴 하지만 내가 아는 부분은 새 발의 피 일 것이다. 내가 배웠던 학습 내용을 실무에 뛰면 부족함을 많이 나는 많이 느꼈다. 그로 인해 좌절도 겪어봤으며 앞으로는 모의 해킹에 대한 지식도 많이 습득해서 순차적으로 처리해 볼 것이다.

 


클래스

여러가지 속성

인스턴스 속성 (instance attribute)

- 객체마다 다르게 가지는 속성

# 인스턴스 속성

class Unit:

    def __init__(self, name, hp, shield, demage):
        self.name = name # self.속성명
        self.hp = hp # self.속성명
        self.shield = shield # self.속성명
        self.demage = demage # self.속성명
        
probe = Unit("프로브", 20, 20, 5)
zealot = Unit("질럿", 100, 60, 16)
dragoon = Unit("드라군", 100, 80, 20)

# 클래스 안 : self.속성명
# 클래스 밖 : 객체명.속성명

 

클래스 속성 (calss attribute)

- 모든 객체가 공유하는 속성

# 클래스 속성

class Unit:

	count = 0 # 생성자 밖에 count 를 생성
    def __init__(self, name, hp, shield, demage):
        self.name = name
        self.hp = hp
        self.shield = shield
        self.demage = demage
        Unit.count += 1 # 클래스.속성명

 

비공개 속성 (private attribute)

- 클래스 안에서만 접근 가능한 속성

# 비공개 속성

class Unit:

    def __init__(self, name, hp, shield, demage):
        self.name = name
        self.__hp = hp # 클래스 밖에서 접근하지 못함
        self.shield = shield
        self.demage = demage
비공개 속성은 접근이 불가능하여 수정이 안된다.
다만, name mangling 메서드를 사용하여 수정할 수가 있다.

 

오늘은 여러 가지 속성에 대해 학습하는 시간을 가져 보았다. 어제 실습했던 자료를 통해 인스턴스, 클래스, 비공개 속성의 위치와 사용 용도를 하나씩 알아볼 수 있었다.

인스턴스 속성을 표현하면

self.demage = demage # self.속성명
probe.demage += 1 # 객체명.속성명

클래스 속성을 표현하면

count = 0 # 생성자 위에 작성
Unit.count += 1 # 클래스.속성명

비공개 속성을 표현하면

self.__hp = hp # 접근 못함
probe.__hp = 9999 # 수정이 안됨
probe._Unit__hp = 9999 # name mangling을 통해 수정가능

속성을 테스트해보면서 객체마다 주어진 역할이 다르다는 것과 세부적, 전부, 비공개적이라고 볼 수 있을 것 같다. 졸리지만 학습하는 시간을 꾸준히 가졌으며 살펴볼 수 있었고 이해할 수 있었다. 아직은 내가 창의적으로 class를 만들어서 테스트하는 것은 쉽지는 않겠지만 그런데도 꾸준히 따라갈 수 있음에 만족한다.

49일 차는 여기서 마무리하고자 합니다.


패스트캠퍼스 링크 : https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

댓글