본문 바로가기
자바 프로그래밍/강의 노트

클래스와 객체C

by 세인트킴 2023. 5. 15.

메소드 

클래스의 멤버 함수, C/C++의 함수와 동일, 자바의 모든 메소드는 반드시 클래스 안에 있어야 한다.(캡슐화)

메소드 구성 형식

접근 지정자 public, private, protected, default(접근 지정자 생략된 경우)

리턴 타입 메소드가 반환하는 값의 데이터타입

인자 전달

Pass - by - value, 인자의 값이 메소드의 매개변수에게 복사된다.

기본 타입의 값 전달 방식
매개변수가 byte, int, double 등 기본 타입의 값일 때 호출자가 건네는 값이 매개변수에 복사되어 전달된다.
객체 전달 방식
객체의 레퍼런스가 복사되어 전달된다. 매개 변수가 실인자 객체를 공유한다. 
배열 전달 방식
배열 레퍼런스만 매개 변수에 전달된다. 배열이 전부 전달되지 않는다. 객체 전달 경우와 동일하다. 매개 변수가 실인자의 배열을 공유한다.

 

메소드 오버로딩

이름이 같은 메소드 작성, 매개변수의 개수나 타입, 또는 타입의 순서가 서로 달라야 한다.

근본적으로 동일한 작업을 하는 메소드

객체 소멸과 가비지 컬렉션

객체 소멸

new에 의해 할당된 객체 메모리를 자바 가상 기계의 가용 메모리로 되돌려 주는 행위, 자바 가상기계에서 임의로 객체 소멸을 할 수 없다.

가비지 컬렉션

자바 가상 기계의 가비지 컬렉터가 자동으로 가비지를 수집, 가용 메모리로 반환

강제 가비지 컬렉션

System or Runtime 객체의 gc()메소드 호출, 자바 가상 기계가 가비지 컬렉션 시점을 전적으로 판단한다.

접근 지정자

접근 지정자의 목적

클래스나 일부 멤버를 공개하여 다른 클래스에서 접근하도록 허용한다. 

default 클래스 package-access라고도 한다. 같은 패키지의 클래스에만 접근 허용.

멤버 접근 지정

public 멤버 패키지에 관계 없이 모든 클래스에 접근 허용

private 멤버 동일 클래스 내에만 접근 허용, 상속받은 서브 클래스에서 접근 불가

protected 멤버 같은 패키지 내의 다른 모든 클래스에게 접근 허용, 상속받은 서브 클래스는 다른 패키지에 있어도 접근 가능

dafalut 멤버 같은 패키지 내의 다른 클래스에게 접근 허용

 

 

 

 

 

 

 

 

'자바 프로그래밍 > 강의 노트' 카테고리의 다른 글

상속B  (0) 2023.06.05
상속A  (0) 2023.05.29
클래스와 객체D  (0) 2023.05.22
클래스와 객체B  (0) 2023.05.08
클래스와 객체A  (0) 2023.04.24