해결된 질문
작성
·
620
답변 1
5
안녕하세요?
메소드를 사용하는 이유는 몇 가지가 있습니다. 어쩌면 코드의 중복을 막는 것으로부터 파생되는 것으로 봐도 무방한 것들도 있겠네요.
1. 코드의 재사용성
같은 동작을 하는 코드를 메소드로 만들게 되면 프로그램에서 필요할 때마다 매번 작성할 필요 없이 같은 메소드를 전달값만 다르게 해서 몇 번이고 호출할 수 있습니다.
2. 가독성
하나의 긴 글보다는 구간별로 정리가 잘 되어 글들이 훨씬 읽기가 편합니다. 가령 학교 시험을 대비하기 위해 공부한 내용을 빠르게 복습하는 목적이라면 더욱 그렇구요. 하나의 긴 코드보다는 작은 단위의 기능을 하는 메소드로 나누게 되면 코드를 읽기가 매우 쉬워집니다.
3. 유지보수 및 테스트 용이
비슷한 동작을 하는 코드들을 여러 곳에 산재해둔다면 수정이 필요할 때 일일이 찾아서 수정해야 하는 불편함이 있습니다. 그 과정에서 놓치는 부분이 발생하게 되면 잠재적인 결함을 야기할 수도 있지요. 이런 경우에 메소드로 분리를 해둔다면 수정이 필요한 경우 그 메소드 하나만 수정하면 메소드를 호출하는 모든 곳에 동일하게 수정된 동작이 적용되어 매우 편리합니다. 그리고 여러 동작을 하는 하나의 긴 코드가 잘 동작하는지를 테스트하는 것보다 여러 개의 작은 단위의 코드가 잘 동작하는지를 확인하는 것이 훨씬 효율적이기도 합니다.
4. 데이터 추상화
객체지향에서 중요한 개념인데 프로그램의 코드를 숨길 수 있습니다. 만약 다른 누군가가 우리가 만든 코드를 가져다 쓴다고 할 때 보안 등의 이유로 내부 동작을 공개하기를 원하지 않는 경우 해당 부분을 메소드로 만들고 접근제어자를 private 으로 해두면 함부로 접근할 수가 없습니다. 공개할 부분만 public 등으로 해두면 되는 것이죠.
이런 부분 외에도 메소드를 이용하는 것이 그러지 않는 것에 비해 가지는 장점은 많은데 글로 설명하는 것보다는 어느 정도의 규모가 있는 프로그램들을 만들다 보면 자연스럽게 경험이 축적되면서 메소드의 이점을 익히시게 될 거에요 😊
감사합니다.