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

제목[re]step16 질문있습니다.2020-05-21 20:27
작성자

1. 말씀하신 것처럼 변수에 직접 접근이 가능하므로 굳이 있지 않아도 될 함수입니다. 그러나 class에서 저런 식으로 set함수와 get함수를 많이 사용하게 되는데, 변수를 클래스 밖에서 직접 접근하지 못하게 하고 멤버 함수를 통해서만 접근 가능하도록 할 때 사용합니다. 현재는 작은 프로그램이라 클래스 밖에서 변수의 값을 임의로 변경해도 큰 문제가 되지 않지만, 큰 프로그램에서는 클래스 밖에서 멤버 변수의 값을 변경할 수 없도록 보호하고 멤버 함수를 통해서만 변경할 수 있도록 하여 프로그램의 안정성과 보안에 신경을 쓸 수 밖에 없습니다. 그러니 작은 프로그램에서도 set함수와 get함수를 사용하여 변수에 접근하는 습관을 들이는 것이 좋다고 생각됩니다. 

지금은 이해가 가지 않더라도 큰 프로그램을 만들다 보면 이해하게 될 것입니다. 아니면 객체지향 프로그래밍 언어의 속성에 대해 다시 한 번 공부하면 이해에 도움이 될 것입니다.


2. get함수를 통해 출력하는 것과 __str__함수를 통해 출력하는 것은 출력 형식에서 차이가 납니다. get함수를 통해 출력하면 변수의 이름만을 출력하게 되지만 __str__함수를 사용하면 정해진 형식에 맞게 출력이 되겠네요. 어떤 형식으로 출력해야 하는지에 따라 어떤 함수를 사용할지 결정하면 될 것 같습니다.

댓글
이전step16 질문있습니다.2020-05-21
다음step 15 질문 2020-05-21