AI교육과정 - Java.6

단비·2022년 10월 6일
0

AI교육과정

목록 보기
6/69
  • private 필드(전역변수)의 경우 get/set 메소드로 호출 가능

  • 객체의 배열
    // 클래스명[] 참조변수 = new 클래스명[요소의 갯수]
    Student[] arr = new Student[3];
    arr[0] = new Student();
    arr[0].setNo(1);
    arr[0].setName("김사과");
    ...
    
    arr[1] = new Student();
    arr[1].setNo(2);
    ...
  • Object 클래스
    • java.lang.Object
    • 모든 클래스의 최상위 클래스
    • 모든 클래스는 Object 클래스의 메소드를 사용할 수 있고, 일부 메소드를 오버라이딩해서 사용
    • Object 클래스가 들어있는 java.lang 패키지는 컴파일러에 의해 자동으로 import 됨
    1. toString()
      - 객체의 정보를 문자열 형태로 표현하고자 할 때 오버라이딩을 자주 하는 편

      // System.out.println(참조변수) == 참조변수.toString()
      객체의 해시코드(주소) 출력
      패키지명.클래스명@해시코드
      // getClass().getName() : 패키지명 + 클래스명
      // Integer.toHexString(hashcode) : 해시코드
      
    2. equals()

      • 객체의 값이 같은지 연산
    3. clone()

      • 객체의 복사본을 만듬
      • clone()은 객체를 복제할 때 private 필드도 복제하기 때문에 객체지향 프로그래밍 은닉화에 특화
  • 상속
    1. 자식클래스(subclass)
      • 상속을 받는 클래스
    2. 부모클래스(super = parent class)
      • 상속을 해주는 클래스
    • 특정 클래스를 구성할 때 기존 클래스의 데이터와 메소드를 부모 클래스에서 그대로 물려받아 중복적인 코드를 줄이는 것

    • 하나의 변수 타입으로 여러 종류의 객체를

    • 의미하는 추상화된 방식의 프로그램을 가능하게 해줌

      접근제어자 class 클래스명 extends 부모클래스명{}
  • 업캐스팅과 다운캐스팅
    • 캐스팅(Casting) : 타입을 변환하는 것 → 형변환
    • 자바의 상속관계에 있는 부모와 자식 클래스 간에는 서로 간의 형 변환이 가능
    1. 업캐스팅

      • 자식클래스가 부모클래스로 형변환되는 것 (업캐스팅 시 자식클래스에만 존재하던 객체는 사용 불가능)
    2. 다운캐스팅
      - 부모클래스타입에서 다시 자식클래스로 복구시키는 것 (원상태로 돌리는 것)

      Class Person{
      		String name;
      		person(){}
      		person(String name){
      				this.name = name;
      		}
      }
      class Student extends person{
      		String no;
      }
      public class Main{
      		public static void main(String[] args){
      				Student student = new Student();  //name(O), no(O)
      				Person person = student;   // 업캐스팅
      				person.name = "김사과"; // [O]
      				person.no = 10;     //  [X] 
      		}
      }
      public class Main{
      		public static void main(String[] args){
      				Person person = new Student();
      				Person student = new Person ();  // [X]
      				Student studnet = (Student)person; // 다운캐스팅
      				person.name = "김사과"; // [O]
      				person.no = 10;     //  [O] 
      		}
      }
  • instanceof 연산자
    • 부모를 상속해서 만들어진 자식 객체가 여러 타입인 경우 특정 클래스가 맞는지 확인하기 위해 사용하는 메소드

    • 참조 변수가 참조하고 있는 인스턴스(객체)의 실제 타입을 알아보기 위해 사용

    • 연산 결과는 boolean 값으로 반환

      (자식이거나 친척이면 true로 나옴)
      참조변수 instanceof 클래스명
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글