class 소속 변수인 delimiter와 메소드 printA, printB는 연관되어 있다. 그런데 코드가 10만 줄 더 있다면 printA, printB가, delimiter가 서로 관련 있는 코드라고 생각하기 어려울 것이다.
이제는 print라는 클래스를 사용하므로 A, B, delimiter 모두 print와 관련이 있다는 사실을 한눈에 파악할 수 있다.
생각 덧붙이기
- 메소드와 변수가 헷갈린다.(Print 클래스에서 정의한 delimiter가 메소드인 줄 알았는데 변수였다.) 클래스에서 점 찍고 사용할 수 있으면 메소드고 그렇지 않으면 변수인가? 했지만 MyOOP 클래스에서 Print.delimiter를 사용하고 있다. 아 여기에는 ()가 없으니 그저 Print 클래스 소속 메소드A, B에 적용할 변수를 지정해 줄 뿐인 건가?
- 공부하다가 모르는 부분을 이렇게 자세히 파고드는 게 효과적인 공부 방법인지 잘 모르겠다. '코드 여러 번 치다 보면 이해되겠지~'하고 넘어갈 때도 많은데, 클래스, 변수, 메소드가 잘 이해되지 않으니 인스턴스 파트도 이해가 안 돼서 이번 파트는 정리해 보고 있다. 혹시 너무 어려워서 인강 몇 번 듣는 걸로는 이해할 수 없는 개념인가....?
마지막으로, 캡처 사진은 없지만 Print 클래스에 해당하는 부분을 드래그하고 refactor -> move type to new file(클래스는 데이터 type과 같은 표현)을 눌러서 새 파일로 만들었다.