클래스의 개인 부분 내에 여러 개인 메소드가 사용하는 값이 있다고 가정하십시오. 사람들은 이것을 클래스의 멤버 변수로 정의하거나 각 메소드에 대한 인수로 전달하는 것을 선호합니까? 그 이유는 무엇입니까?
한편으로는 클래스의 상태 (즉, 멤버 변수)를 줄이는 것이 일반적으로 좋은 일이라는 주장을 알 수 있지만 클래스의 메소드에서 동일한 값이 반복적으로 사용되는 경우 이상적입니다. 클래스가 상태를 나타내는 후보로 코드가 다른 경우 코드를 눈에 띄게 깨끗하게 만듭니다.
편집하다:
제기 된 의견 / 질문 중 일부를 명확히하기 위해 상수에 대해 이야기하는 것이 아니며 특정 사례와 관련이 없으며 다른 사람들과 이야기 한 가설에 불과합니다.
잠시 OOP 각도를 무시하고, 내가 염두에 둔 특정 유스 케이스는 다음과 같습니다 (의사 코드를 더 깨끗하게하기 위해 참조로 전달한다고 가정)
int x
doSomething(x)
doAnotherThing(x)
doYetAnotherThing(x)
doSomethingElse(x)
그래서 의미하는 바는 여러 함수 사이에 공통적 인 변수가 있다는 것입니다. 필자의 경우 작은 함수 체인으로 인한 것입니다. OOP 시스템에서, 이것들이 클래스의 모든 메소드라면 (큰 메소드에서 메소드를 추출하여 리팩토링으로 인해), 그 변수가 그들 주위에 전달되거나 클래스 멤버가 될 수 있습니다.