#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목<class> 질문2022-12-06 02:42
작성자
class Student:
    __countStudent = 0

    def __init__(self, givenID, givenName):
        # Instance (or Object) variables
        self.__id = givenID
        self.__name = givenName
        Student.__countStudent = Student.__countStudent + 1

#    def setId(self, givenID):
#        self.__id = givenID

    def getId(self):
        return self.__id

    def setName(self, givenName):
        self.__name = givenName

    def getName(self):
        return self.__name

    def __str__(self):
        msg = "id:{}, name:{}".format(self.__id, self.__name)
        return msg

    def getNumOfStudent():
        return Student.__countStudent
    
student1=Student(11111111,'harry potter')
print(student1.getId()) 
여기서 setId와 setName 함수는 왜 있는건가요? 강제로 호출하지 못하도록 __  를 쓴 것은 이해하는데 setId 부분을 주석처리를 해서 프린트를 해도 아무 문제 없이 잘 프린트 되는데 왜 굳이 붙이는지 잘 모르겠습니다...!
댓글