java_접근제어자

황호준·2023년 5월 24일

CS

목록 보기
9/29

접근제어자 : 정보 은닉을 위한 제어자

클래스 ,객체,인스턴스 차이

  • 클래스 : 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀, 클래스 내에 객체를 만들어내기 위해 필요한 변수,메소드들이 존재한다. (붕어빵 틀)
  • 객체 : 클래스에 선언된 모양 그대로 생성된 실체를 말하며 ‘클래스의 인스턴스’라고 부른다. (붕어빵)
  • 인스턴스 : 객체가 메모리에 할당되어 실제로 구현된 구체적인 실체를 말한다. (붕어빵 틀로 찍어낸 각각의 붕어빵)
    ※ 팥붕어빵,슈크림 붕어빵 -> 같은 타입 객체 but 다른 인스턴스

Overloading vs Overriding

  • 오버로딩 : 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 다른 타입이면, 같은 이름을 사용해서 메소드를 정의할 수 있다.(새로운 메소드 생성) -> 메소드 이름 절약, (출력 기능 등)같은 기능 하는 메소드를 하나의 이름으로 사용가능
  • 오버라이딩 : 부모 클래스로부터 상속받은 메소드를 자식 클래스에게 재정의하는 것(말 그대로 메소드 재정의)

Primitive type vs Reference type(원시타입 vs 참조 타입)

  • 원시(기본)타입 – 정수,실수,문자,논리 리터럴 등 실제 데이터 값을 저장하는 타입(stack 메모리에 저장)
  • 참조타입 – 객체를 참조하는 타입으로 메모리 번지 값을 통해 객체 참조하는 타입(heap 메모리에 저장된 객체의 주소를 stack 메모리에 저장)

메소드를 호출할 때 파라미터 전달하는 두가지 방법

  • Call by Value (자바) 메서드 호출할 때 값을 넘겨줌 호출자의 변수와 수신자의 파라미터는 복사된 서로 다른 변수
  • Call by Reference - 참조를 직접 넘겨받아 호출자의 변수와 수신자의 파라미터는 완전 동일 변수

    Wrapper Class
    기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있습니다. 이럴 때에 기본 자료타입을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스라고 한다.

    기본 타입의 값을 포장 객체로 만드는 과정을 박싱/ 포장 객체에서 기본타입의 값을 얻어내는 과정을 언박싱

profile
기록 블로그

0개의 댓글