메소드

혜미·2021년 6월 22일
0

TIL

목록 보기
1/29
post-thumbnail

인스턴스가 이해가 안 돼서 메소드 부분부터 복습하고 있다.

매번 변형되어 반복되는 구분자를 매개변수로 묶어주었다.

그렇지만 "----", "****" 외의 새로운 구분자를 사용하고 싶거나 한 세트가 되는 코드가 지금처럼 4개가 아니라 10만 줄이라면 코드 한 줄 한 줄 바꾸기 힘들어진다.

그래서 delimiter를 변수로 정의했다.

이제 구분자를 바꾸고 싶다면 코드 하나하나 다 변경할 필요 없이 5째줄, 11째줄과 같은 정의 부분만 변경하면 된다. 그러면 delimiter를 사용하는 모든 메소드의 인자값이 한 번에 바뀐다.

만약 delimiter를 반복해서 쓰는 것도 싫다면?
main에서 정의한 delimiter를 끌어다가 아래쪽 메소드(printA와 printB를 정의하는 부분) 안에서 쓰자!
앗 그런데 printA, printB라는 메소드 안에는 delimiter라는 변수가 없다 = 선언되어 있지 않다. (main이라는 메소드에서 정의한 변수는 해당 메소드 안에서만 사용할 수 있다.) 그러면 printA, printB 밖에 있는 class에서 delimiter를 정의한 다음 그걸 갖다 쓰자!

*헷갈리는 부분: printA, printB 메소드에서도 delimiter를 정의한 것 아닌가? 그게 아니라 여기선 main 메소드에서 정의한 delimiter를 변수로 사용한 것 뿐인가? 다음에 다시 복습하면서 차차 알게 되겠지...?

main 메소드 안에 있던 delimiter를 class 소속으로 옮기면 printA와 printB를 정의하는 메소드에서도 delimiter를 인자로 사용할 수 있다.

메소드 괄호 안에 인자가 없으니까 훨씬 보기 깔끔하다. 유지보수하기도 훨씬 쉬워졌다.

0개의 댓글