열심히 끝까지

22강 클래스에 대하여 - 객체타입배열 / 연습 계산기 클래스 본문

멘토씨리즈 JAVA

22강 클래스에 대하여 - 객체타입배열 / 연습 계산기 클래스

노유림 2022. 4. 29. 18:38

22-1 ) 객체 타입 배열
<복습>
클래스란?  객체를 만들기 위한 설계도
객체란?  독립적으로 존재할 수 있는 것
클래스의 객체화?  코드를 독립적으로 존재할 수 있게끔 만들어 필요할 때 빼와서 사용
인스턴스란?  (객체의 동의어로 사용되기도 함)(객체가 더 포괄적)
                   클래스로 실제 메모리에 생성된 객체

클래스 생성 방법
        class 클래스명{
                변수 혹은 메서드       } // 클래스 안에 클래스가 올 수도 있음

객체(인스턴스) 생성 방법
        클래스명 참조변수 = new 클래스명();

객체 내 필드 접근 방법
        참조변수.필드명

        - 배열? 
                같은 자료형을 가진 변수들의 나열된 집합
             ex )
          정수형 배열 - 정수형 변수들이 나열된 묶음
          [정수형 변수][정수형 변수][정수형 변수][정수형 변수]

          실수형 배열 - 실수형 변수들이 나열된 묶음
          [실수형 변수][실수형 변수][실수형 변수][실수형 변수]       

         - 객체배열?
               같은 클래스로 만들어진 변수들의 나열된 집합
               같은 구조를 갖고 있으나 다른 객체 값을 저장

          객체 배열의 구조
          [객체 변수][객체 변수][객체 변수][객체 변수]

          객체 배열 생성 방법?

            클래스명[ ] 객체배열명 = new 클래스명[크기];

         ex ) Aclass[ ] ar = new Aclass[3];
              [Aclass][Aclass][Aclass]
               * 여기서 주의할 점! 
                 Aclass 객체 값은 아직 저장하지 않음
                - 객체 배열을 만들었음 -> 저장할 수 있는 공간은 창조
                      -> 각 요소에 값을 넣지 않았기에 값을 가져오라고 해도 
                           아무 값도 가져오지 못하고 에러가 뜸
                      => ar[i]를 호출하고 싶으면
                           생성자(클래스명과 이름이 동일한 메서드)를 사용해서
                           객체를 생성해야 함

         <실습> ObjectArray1




         <실습>AnimalObject




         <실습>UserArray
          user클래스로 만들어진 다음 객체를 묶어서 관리할 객체 배열 users를 생성하기
          단, 사용자 정보는 다음과 같이 입력받기

결과값