인프런 커뮤니티 질문&답변

qpdlqg님의 프로필 이미지
qpdlqg

작성한 질문수

김영한의 실전 자바 - 기본편

문제와 풀이

기본형과참조형 문제풀이 질문입니다.

작성

·

255

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

  1. 문제와 풀이에서 리팩토링 한다고 해서 어느정도는 알맞게 코딩을 풀어 쓸 순 있었지만 생각해보니 막상 제가 새로운 상품계산기를 만드려고 했을 때는 막막하더라구요. 메서드는 어디서부터 써야하며 또 배열을 쓸지 아니면 그냥 해야할지.. 를 정확하게 모르겠습니다. 실무에서는 설계를 완전히 하고 코딩을 써나가는건지 아니면 일단 만들어 보는 건지 궁금합니다.

  2. ProductOrderMain2

    static int getTotalAmount(ProductOrder[] add) {
        int result = 0;
        int a = 0;
        for (int i = 0; i < add.length; i++) {
            result = result + (add[i].price * add[i].quantity);
        }
    
        return result;
    } 

    여기서 result를 반환하고 main에서 출력할 때 getTotalAmount(orders)를 바로 sout하지 않고 int totalAmount = getTotalAmount(orders); 한 다음에 출력하는지 궁금합니다.

답변 1

1

안녕하세요. qpdlqg님, 공식 서포터즈 코즈위버입니다.

  1. 이는 코딩에 좀 더 익숙해지면 해결되실거에요. 프로그래밍은 결국 조건문과 반복문으로 모든 문제를 해결해야 합니다. 그리고 자바에서는 이런 코드들을 적절하게 클래스와 메서드로 분리해야 하지요. 웹에서 처리해야 하는 대부분의 문제는 일정한 패턴이 있습니다. 데이터를 조회하여 이를 콜렉션(지금은 배열에 담는다고 생각해주세요)에 담아서 반복문을 돌며 어떤 처리과정을 거치고 이를 프론트엔드로 보내지요. 요즘은 알고리즘 문제를 푸는 분들도 많은데, 실무에서는 그정도로 어려운 문제를 만날일은 거의 없다고 보셔도 됩니다.

  2. 코드를 여러번 사용할 일이 없다면 가급적 변수를 적게 사용하는 방법은 좋습니다. 지금은 메서드 명을 보면 어떤 값이 어떤 타입으로 반환될지 바로 추측할 수 있으므로 말씀하시것처럼 반환값을 바로 콘솔에 출력해도 괜찮습니다. 만약 메서드 명을 보아서는 어떤 값을 반환할지 알 수 없거나 의미가 모호하다면 결과값을 새로운 변수에 담으면서 유의미한 이름을 붙여주면 좋겠지요.

     

감사합니다.

qpdlqg님의 프로필 이미지
qpdlqg
질문자

친절한 답변 감사합니다 선생님.

qpdlqg님의 프로필 이미지
qpdlqg

작성한 질문수

질문하기