인프런 커뮤니티 질문&답변
[강의 질문] 메서드와 추상화
작성
·
10
0
메서드와 추상화 관련해서 질문이 있습니다.
메서드가 2가지 이상의 일을 하면 구체적인 내용의 유추가 어렵기 때문에 더 작은 단위의 메서드로 쪼개고 더 큰 맥락 안에서 포괄적인 의미를 담는 메서드 명 변경하라고 말씀 주셨는데
더 작은 단위의 메서드로 쪼개지 않고 메서드 명만 포괄적인 의미를 잘 담아서 표현하게 되도 괜찮은 걸까요?
즉, 아래와 같이 메서드 단위로 분리 하지 않아도
메서드 명만 하나의 주제를 나타내면 되지 않을까 싶어서 질문 드립니다.
void 산책하면서 돈쓰기() {
우빈이는 산책하다가 은행해서 현금을 인출했다.
서점가는길에 아이스크림을 사먹었다.
남은돈으로 서점에서 가서 책을 구입하였다.
}답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
JuNu님께서 올리신 메서드와 추상화에 관한 질문에 대해 답변드리겠습니다.
메서드를 쪼개지 않고 포괄적인 메서드명만으로 표현하는 것에 대해 고민이 있으신 듯합니다. 이와 관련하여 메서드의 책임을 명확히 하고 코드의 가독성을 높이는 방법에 대해 이해를 돕고자 몇 가지 링크를 추천해드리겠습니다.
- 메서드의 책임 분리 및 네이밍:
메서드를 더 작은 단위로 쪼개는 이유는 각 메서드가 단일 책무를 갖게끔 유도함으로써 코드의 가독성과 유지보수성을 높이기 위한 것입니다. 메서드 네이밍을 통해 의도를 드러내는 것도 중요하지만, 여러 책임을 가진 메서드는 코드의 복잡성을 증가시킬 수 있습니다. 이런 경우 더 작은 단위로 메서드를 분리하는 것이 좋습니다.
- 관련된 내용을 다룬 질문으로 안녕하세요. 객체의 책임 분리와 관련해서 질문이 있습니다.을 참고하시기 바랍니다. 이 질문은 객체의 책임 분리와 클래스 설계 측면에서 가이드를 제공합니다.
- 가독성을 갖춘 추상화:
주제를 포괄적으로 설명하는 네이밍도 중요하지만, 메서드를 명료하게 유지하고 각 메서드가 하나의 일을 담당하도록 하기 위해 메서드를 나누는 것이 선호되는 방법입니다. 네이밍만으로 책임을 숨기려다 보면 오히려 코드의 복잡성을 늘릴 수 있으므로, 메서드의 목적을 명확히 하고 코드가 자기 설명적이도록 하는 것이 장기적으로 유지보수에 유리합니다.
JuNu님의 질문은 많은 개발자가 코드를 쉽게 읽고 유지할 수 있도록 하려는 고민에서 비롯된 것 같습니다. 이 답변이 JuNu님께 도움이 되기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





