자바의 신 8장 - 참조 자료형에 대해서 더 자세하게 알아봅시다

so2·2021년 6월 15일
0
post-custom-banner
  • 기본 자료형 : byte, short, int, long, float, double, char, boolean

  • 기본 자료형 8개를 제외한 나머지 타입은 모두 참조 자료형

  • 기본 자료형과 참조 자료형의 가장 큰 차이는 new를 사용해서 객체를 생성하는지 여부의 차이 (String, 배열은 new없이 생성 가능)

  • 생성자

    • 리턴 타입이 없고 클래스 이름으로 되어있다
    • 생성자는 자바 클래스의 개체(또는 인스턴스)를 생성하기 위해 존재한다.
    • 생성자에 리턴 타입이 없는 이유는 생성자의 리턴 타입은 클래스의 객체이기 때문이고, 클래스와 이름이 동일해야 컴파일러가 생성자임을 알아 차릴 수 있다.
    • 생성자는 여러개일 수 있다 → 각각 상황마다 다른 생성자를 사용해 구현할 수 있다.
    • 생성자를 만들 때 어떤 생성자들이 꼭 필요한지를 생각해서 만들어야 하고, 생성자를 사용할 때에는 어떤 것이 해당 클래스에 가장 적합한지를 선택하는 것이 중요하다.
  • 기본 생성자 : 다른 생성자가 없을 경우 기본으로 컴파일할 때 생성

  • this 예약어

    • 생성자와 메소드 안에서 사용할 수 있다.
    • 인스턴스변수-매개변수 이름이 동일할 때 혼동을 피할 수 있다.

  • 메소드 overloading

    • 이름은 같고 매개 변수 타입은 다른 함수
    • "같은 역할을 하는 메소드는 같은 메소드 이름을 가져야 한다 " 모토
  • 메소드에 반환값 명시하고 리턴해주지 않으면 컴파일 오류 발생, 리턴 문장 이후 문장 작성하면 컴파일 에러

  • DTO를 리턴 타입으로 선언해주면, 여러 개의 데이터를 하나의 타입에 넣어서 넘겨줄 수 있다.

  • void인 메소드는 return;을 적어주면 메소드 수행 종료로 인식한다.

  • static

    • 객체를 생성하지 않아도 메소드를 호출할 수 있다
    • static 메소드는 클래스 변수만 사용할 수 있다.
    • 클래스 변수는 모든 객체에서 하나의 값을 바라보기 때문에 사용에 주의해야한다.
  • static 블록
    - 어떤 클래스의 객체가 생성되면서 딱 한 번만 불려야 하는 코드
    - 객체는 여러 개를 생성하지만, 한 번만 호출되어야 하는 코드
    - 객체가 생성되기 전에 클래스에 대한 참조가 발생하자마자 한 번만 호출되고, 그 후엔 호출할 수 없다.
    - 클래스 내에, 메소드 밖에 선언되어야 한다.
    - 여러 개 선언 가능, 선언된 순서대로 블록들이 차례대로 호출된다
    - 클래스를 초기화할 때 꼭 수행되어야 하는 작업이 있을 경우 유용하게 사용될 수 있다.
    - static 블록 안에는 static한 것들만 호출할 수 있다.

  • Pass by Value : 메소드의 매개변수로 넘길 때 원래 값은 놔두고 값만 복사해서 전달한다. 기본 자료형 전달 방법

    [주의]
    b="z";
    b=new String("z");
    String은 따옴표로 값을 할당하면 new를 사용하여 객체를 생성한 것과 같다
    String이 아닌 다른 참조 자료형들도 호출된 메소드에서 다른 객체로 대체하여 처리하면 기존 값은 바뀌지 않는다.

  • Pass by Reference : 객체에 대한 참조가 넘어감. 참조 자료형 전달 방법

  • 메소드의 임의 개수의 매개 변수 전달하는 방법

    • 구조 : 타입...변수명
      ex) int...numbers
    • 하나의 메소드에서 한 번만 사용 가능하고, 여러 매개 변수가 있다면 가장 마지막에 선언해야만 한다.
post-custom-banner

0개의 댓글