private으로 접근 제한해도
set 함수로 바꾸면 그게 그거아님?
응 맞아. 하지마 좀 다르지
변수를 직접 다른 곳에서 가져다쓰면 변수명만 바꿔도 오류나지만, set으로 해놓으면 변수명을 바꿔도 지장없음
그거 말고는 없음
어디 있는 변수 말하는 거야? 선언부?
ㅇㅇ
이 바보야
ㅠㅠ
맞음
진짜 생각해보니 get set 왜 있는 거지
편하라고
어차피 바꾸는 거 그냥 바깥에서 바로 바꾸면 안 됨? person.name = "Muhyun"
간단히 말하면 기본 setter 는 처음에 적은거말고는 장점이 없음. 하지만 외부에서 set을 가져다쓰고, 설정값을 변수에 "가공해서" 넣는다면? setter를 쓰는 의미가 존재하지.
그래서 요즘은 setNumber 라고 쓰는게 아니라, changeNumber 라던가, addNumber 라던가, set보다는 좀더 명확하게 setter의 기능을 명시하고 set 할필요없는 변수의 setter는 다 삭제하는거임
고거는 지금까지 할 때 아예 함수명부터 작업 관련으로 따와서 따로 만들어놨는데
아 맞구나 ㅇㅇ
person.name 은 내부변수가 바로 노출되서 캡슐화도 깨지고 가공해서 뭘 넣기도 짜증나지
왤케 똑똑해..
이 질문하는 이유가 파이썬은 캡슐화를 그리 신경 쓰지 않는 것 같던데
파이썬 안해서 모르겠음
나도 안함
몰라 하라니까 하는거지ㅋㅋ 나도 객체에 set메서드 만들어두기만 하고 사용안함
일단 실수를 줄일 수 있고, 어떤 값을 set 했을 때 절대 이 값 (ex 0이하가 되면 안된다던지)이 나오면 안되는걸 예외처리할 수 있음
그리고 디버깅할때 편함
응 맞아. 하지마 좀 다르지
변수를 직접 다른 곳에서 가져다쓰면 변수명만 바꿔도 오류나지만, set으로 해놓으면 변수명을 바꿔도 지장없음
그거 말고는 없음
어디 있는 변수 말하는 거야? 선언부?
ㅇㅇ
이 바보야
ㅠㅠ
맞음
진짜 생각해보니 get set 왜 있는 거지
편하라고
어차피 바꾸는 거 그냥 바깥에서 바로 바꾸면 안 됨? person.name = "Muhyun"
간단히 말하면 기본 setter 는 처음에 적은거말고는 장점이 없음. 하지만 외부에서 set을 가져다쓰고, 설정값을 변수에 "가공해서" 넣는다면? setter를 쓰는 의미가 존재하지.
그래서 요즘은 setNumber 라고 쓰는게 아니라, changeNumber 라던가, addNumber 라던가, set보다는 좀더 명확하게 setter의 기능을 명시하고 set 할필요없는 변수의 setter는 다 삭제하는거임
고거는 지금까지 할 때 아예 함수명부터 작업 관련으로 따와서 따로 만들어놨는데
아 맞구나 ㅇㅇ
person.name 은 내부변수가 바로 노출되서 캡슐화도 깨지고 가공해서 뭘 넣기도 짜증나지
왤케 똑똑해..
이 질문하는 이유가 파이썬은 캡슐화를 그리 신경 쓰지 않는 것 같던데
파이썬 안해서 모르겠음
나도 안함
몰라 하라니까 하는거지ㅋㅋ 나도 객체에 set메서드 만들어두기만 하고 사용안함
일단 실수를 줄일 수 있고, 어떤 값을 set 했을 때 절대 이 값 (ex 0이하가 되면 안된다던지)이 나오면 안되는걸 예외처리할 수 있음
그리고 디버깅할때 편함