본문 바로가기
프로그래밍 언어/Java

[Java] [예제] 비만 지수 구하기

by 까망 하르방 2021. 2. 23.
반응형

비만 지수 구하기

- 객체 개념을 이용해서 비만 수치 구합니다.

- 객체 역할에 대해 조금 더 생각해봅니다.

[비만 지수 예제]

public class BodyMassIndexMachine {
    public float calculate(float height, float weight) {
        float hData = height * height;
        float result = weight / hData;
        return result;
    }
    
    public static void main(String[] args) {
        BodyMassIndexMachine machine = new BodyMassIndexMachine();
        
        float h = 1.8F;
        float w = 73F;
        
        float index = machine.calculate(h, w);
        System.out.println("비만 지수: " + index);
    }
}

프로그램 규모가 커지면서 고민해야 될 상황은 다음과 같다.

- 기존에 개발해 둔 메소드를 수정해서 사용하는 방법

- 기존 메소드를 수정하지 않고 새로운 메소드를 작성해서 같이 연동

 

기능 확장

: 비만 수치 기반으로 해석

public class BodyMassIndexMachine {
    
    public String getResult(float indexValue) {
        if(indexValue >= 40) return "과비만";
        else if(indexValue >= 27.6) return "비만";
        else if(indexValue >= 23) return "과체중";
        else if(indexValue >= 18.5) return "정상";    
        else return "저체중";
    }
    
    public float calculate(float height, float weight) {
        float hData = height * height;
        float result = weight / hData;
        return result;
    }
    
    public static void main(String[] args) {
        BodyMassIndexMachine machine = new BodyMassIndexMachine();
        
        float h = 1.8F;
        float w = 73F;
        
        float index = machine.calculate(h, w);
        System.out.println("비만 지수: " + index);
        System.out.println("해석: " + machine.getResult(index));
    }
}

객체(Object)』 : 데어티와 로직(메소드)이 서로 유기적으로 묶인 구조를 객체

가지고 있는 데이터를 객체로 하여금 활용하게 하는 것.

객체는 로직뿐 아니라 데이터도 스스로 관리하는 관점

사용자 입장에서는 편하게 호출 가능

 

 

반응형

댓글