getter 자체가 멤버 변수에 대한 encapsulation에 구멍을 뚫는 거임
90년대 자바, c++쟁이들이나 유행시키던게 게터임
객체에 대한 함수는 객체에 작용하는 동작 단위로 짜는거임
예를 들어 계좌의 돈을 10만원 입금할때
setBalance(getBalance() + 100000);
이건 그냥 병신이고
deposit(100000);
이게 맞음
좌표평면상에서 점을 오른쪽으로 세칸 움직일때
setX(getX() + 3);
이것도 병신이고
moveRight(3);
이게 맞음
ㅇㅈ하는부분
ㅇㅈ - dc App
moveRight의 구현으로 setX(getX() + dx)) 하면?
moveRight의 구현으로 왜 그걸 함, 그냥 this->x += dx 하면 되지
x변경점을 한곳에서 모아서 하는것도 있고 추상화해서 레이어둔다는거 자체만으로도 의미있음.
뭔소린지 모르겠는데 setX(), getX()이 무슨 추상화 레이어임? 말도 안되는 소리 ㄴㄴ
추상화 뜻을 모르나? x 변경을 구독하려고 하면 x변경하는 코드 다 엎겠네? ㅋㅋ 필요하면 쓰는거다
ㅇㅈ 무지성 get set은 해악이다
개추 - dc App
ㅇㅈㅋㅋ
js get 허실?
그래서 위치 0으로 어케바꿈
get을 쓰지말랬지 set을 쓰지 말란건 아니여
moveToOrigin();
내가 좋아하는 100으로는 어케바꿈?
moveTo100() - dc App
필드 덧셈뺄셈대입만 할꺼면 걍 public으로해
setter없는 getter는 필요할텐데
본문처럼 세터 파라미터로 게터 넣는 건 무지성 맞긴 한데 아예 쓰지 말라는 거도 어불성설임
자바가 OOP에 독을 풀었다
걍 게터세터 둘다 안 쓰면 안 됨?
size() 없는 컨테이너같은 소리하고있네 필요할땐 써야지
저렇게 짜기 어려우면 일단 setter를 절대로 쓰지말고, getter는 최소한으로 짜는 연습부터 하면 됨
정확하겐 getter만 있거나 setter만 있는 경우는 있을 수 있다고 봄.(이름은 좀 달라도 기능적으로) 근데 getter도 setter도 있다면 ㅅㅂ 그냥 public으로 두면 되지 뭔 개짓거린가 싶음 - dc App
setBalance(getBalance() + 100000); 이거 ㅈㄴ웃기노ㅅㅂㅋㅋㅋ