※ 패스트캠퍼스 포스팅들은 패스트캠퍼스 국비지원교육 'Java & Spring으로 시작하는 웹 프로그래밍'에 대한 내용을 정리하고 나름의 회고를 남겨놓은 글입니다.
이번 4주차는 지난번에 이어서 객체지향에 대해서 자세히 알아보고 실습을 해 보는 주차였다.
중간에 한번의 복습 겸 과제? 비슷한 것을 내 주셔서 해당 내용에 대해서 포스팅을 할 것이다.
과제 내용은 객체를 구현하고 지정한 방식으로 정보를 출력하는 것이었다. 총 두 가지 문제였는데 하나는 배웠던 것을 활용하여 구현하면 쉽게 구현할 수 있었다.
"키가 180 이고 몸무게가 78킬로인 남성이 있습니다. 이름은 Tomas 이고 나이는 37세입니다."
를 출력하는 문제인데 먼저 userInfo 클래스를 지난 수업 때 만들었었기 때문에 아래 코드와 같이 조금 수정하였다.
public class UserInfo {
public String userName;
public char gender;
public int userHeight;
public int userWeight;
public int userAge;
public UserInfo(){}
public UserInfo(char gender, int userHeight, int userWeight, String userName, int userAge) {
this.gender = gender;
this.userHeight = userHeight;
this.userWeight = userWeight;
this.userName = userName;
this.userAge = userAge;
}
public String showUserInfo() {
return "키가 " + userHeight + "이고 몸무게가 " + userWeight +
"인 "+gender+"이 있습니다. 이름은 "+userName+" 이고 나이는 "+ userAge+"세입니다.";
}
}
기존 멤버 필드에서 필요없는 부분은 제거하고 새로 추가된 부분은 형식에 유의하여 추가해 주었다.
위 예시를 보면 총 5가지의 정보가 필요한 것 같았고 생성자에서 객체를 생성할 때 이 5가지의 인자를 받아오면 정보가 저장되도록 하였다.
showUserInfo 메서드에서는 예시와 유사한 문구를 출력하도록 해 주었다.
public class UserInfoTest {
public static void main(String[] args) {
UserInfo Tomas = new UserInfo("남성", 180, 78, "Tomas", 37);
System.out.println(Tomas.showUserInfo());
}
}
앞선 코드를 확인해 보기 위해서 UserInfoTest라는 클래스에서 main 메서드 안, UserInfo 객체를 생성하여 showUsereInfo의 반환값을 출력해 보았다.
정상적으로 출력하는 것을 확인할 수 있었다.
확실히 실습을 진행해 보니 더 잘 이해가 되고 더욱 재미도 느낄 수 있었던 것 같다. 확실히 객체지향은 실생활에 있는 문제를 소프트웨어적으로 해결하기에 굉장히 최적화가 되어있는 것 같았고 그 객체지향을 구현하기 위해 자바만한 언어가 또 없다고 생각이 들게 되었다.
상속이나 인터페이스, 제네릭과 같은 부분은 빠져있어서 조금 아쉬웠지만, 이는 내가 계속 더 공부해야 할 부분이라고 생각하고 계속해서 블로그에 공부한 내용을 추가할 예정이다.