[자바(Java)] 클래스(Class)-(1)

윤소영·2022년 1월 23일

Java

목록 보기
1/2

✨ 클래스란?

객체(또는 인스턴스)를 생성하는 하나의 틀이다.

📍 예시로 쉽게 보는 클래스

✔️ 자동차를 만들어내는 자동차 공장을 생각해보자. 자동차를 만들 때는 자동차 가격, 색상, 사이즈(경차, 소형차, 중형차, 대형차 등) 등을 고려하고, 자동차가 잘 나가는지, 브레이크가 정상적으로 작동해서 잘 멈추는지 등을 고려한다.
👉🏻 여기서 자동차를 객체, 자동차 공장을 클래스라고 보면 된다. 즉, 클래스(자동차 공장)가 객체(자동차)를 만들어내는 것이다.

객체의 특징(속성--attribute)
객체의 기능/동작(메서드--method)

✔️ 자동차 공장에서 자동차를 만들기 전에는 어떠한 자동차를 만들 것인지 해당 자동차의 "특징"과 "기능"을 고려한다.
👉🏻 객체를 만드는 것도 동일하다! 단, 어떠한 속성과 기능을 가진 클래스를 생성하여 객체를 만들지는 본인이 선택하면 된다.

✔️ 그렇다면 이제 위의 예시를 반영하여 가격, 색상 등의 속성과 잘 움직이는지와 멈추는지에 대한 메서드를 지니는 객체를 만들어내는 클래스를 설계하고 작성하려고 한다.

🔻 작성한 코드

🔻 실행결과

👉🏻 하나의 클래스로 여러 개의 객체를 생성할 수 있다. 나중에는 이러한 객체들이 저장되는 배열도 볼 예정인데, 그 전까지는 클래스와 객체에 대해 이해하고 본인이 원하는 객체를 만들어내는 클래스를 구현하기 위해서는 어떤 특징, 기능을 고려하면 좋을지 고민해보면 좋을 것 같다. 그리고 그렇게 고민의 과정에서 나온 속성과 기능에 대한 요구사항들을 반영한 클래스를 우리가 직접 코드를 작성해 구현하고, 객체를 생성해보는 연습도 꾸준히 하면 좋을 것 같다.

✨ Question & Answer

Q1. 가격을 천 단위로 나타내고 싶은데, 어떻게 해야 할까?

A1) String.format(String format, Object... args) 사용하기!

public static String format(String format, Object... args) {  
       return new Formatter().format(format, args).toString();  
   } 

🔻 작성한 코드

🔻 실행결과

Q2. 문자열 형태의 숫자들로 연산하고 싶은데, 문자열을 숫자로 어떻게 바꿀까?

A2) Integer.parseInt(String s) 또는,
Integer.parseInt(String s, int radix) 사용하기!

✔️ Integer 클래스의 static으로 지정되어 있다. 따라서, 객체를 생성하지 않아도 "클래스명.parseInt()"로 사용할 있다.

🔻 작성한 코드

🔻 실행결과

✨ 참고해서 보기

📍 클래스는 왜 나왔을까?

프로그램의 규모가 커지면서 체계적이고 분업화된 시스템이 자리잡을수록 OOP(객체 지향 프로그래밍)이 발전해왔고, 이 과정에서 클래스가 나왔다.

📍 함수 vs 메서드

일반적으로 클래스 안에 존재하는 함수를 메서드라고 부른다.

📍 new 예약어가 하는 역할

객체를 메모리 공간에 생성하고, 그 주소값을 반환한다.




공부에 참고한 도서와 사이트

  1. Do it 자바프로그래밍 입문

  2. Java Tutorial

  3. Java w3schools

profile
Major in IT Engineering(2021.03~)

0개의 댓글