2025년 9월 22일 (월)
6:40:23 AM
NEFFEX Chasing - NEFFEX
00:00
00:00
Buffering ...

최근 글 👑

20240809_TIL_캠프 4주차 5일_필드와 메서드

2024. 8. 9. 15:57ㆍ내배캠_Java 6기/Java 문법 종합반

객체의 속성 : 필드 

필드는 객체의 데이터를 저장하는 역할을 함

 

 

필드의 초기화

 

우리가 정의하여 선언한 클래스의 필드들은 초기값을 제공하지 않으면 자동으로 기본값으로 초기화된다.

 

 

필드 사용 방법

  • 필드의 값을 변경하고나 읽는 것을 "필드를 사용한다" 라고 함.
  • 필드를 클래스에 선언했다고 해서 사용가능한 것이 아님 (단순 설계했을 뿐)
  • 따라서 객체를 생성한 후에 필드를 사용할 수 있음

 


외부 접근

Car car = new Car();

 

객체를 생성 (인스턴스화) 했다면  참조 변수 car 을 이용해 '. ( 도트 연산자 )' 를 통해 외부에서 객체 내부의 필드에 접근할 수 있다

car.color = "blue";

 


내부 접근 : 그냥 바로 사용

double brakePedal() {
    speed = 0;
    return speed;
}

 

 

 

객체의 행위 : 메서드

 메서드 객체의 행위를 뜻하며 객체 간의 협력을 위해 사용

 

double brakePedal() {...} // double 타입 반환
char changeGear(char type) {...} // char 타입 반환
boolean onOffLights() {...} // boolean 타입 반환
void horn() {...} // 반환할 값 없음

 

 

✓  return 값으로 반환할 값의 타입이 처음에 들어가게 된다.

✓  반환할 값이 없을 때는 리턴 타입이 void이며 반환값이 없으니 return 생략 가능 

 

 

매개변수

✅ 매개 변수 : 메서드를 호출할 때 메서드로 전달하려는 값을 받기 위해 사용되는 변수

double gasPedal(double kmh, char type) {
    speed = kmh;
    return speed;
}

 

해당 매개변수에 값을 전달하기 위해서 순서와 타입에 맞춰 값을 넣어주면 됨

전달하려는 값이 없으면 생략 가능

gasPedal(100, 'D');

 

 

가변 길이의 매개변수도 선언 가능. 개수 상관없이 변수를 전달 가능합니다.

void carSpeeds(double ... speeds) {
    for (double v : speeds) {
        System.out.println("v = " + v);
    }
}

 

 

 

메서드 호출 방법

외부 접근

Car car = new Car();

car.brakePedal();

 

객체를 생성 (인스턴스화) 했다면  참조 변수 car 을 이용해 '. ( 도트 연산자 )' 를 통해 외부에서 객체 내부의 메서드에 접근할 수 있다.

 

 

내부 접근 : 그냥 바로 사용

 

 

반환값 저장

매서드의 리턴 타입과 변수의 타입이 동일하거나 자동 타입 변환될 수 있다면 변수 안에 저장 가능

double speed = car.gasPedal(100, 'D');

 

 

메서드 오버로딩

오버로딩 : 함수가 하나의 기능만을 구현하는 것이 아니라 하나의 메서드 이름으로 여러 기능을 구현하도록 하는 Java의 기능

 

➡️  즉, 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도, 매개변수의 개수 또는 타입, 순서가 다르면 동일한 이름을 사용해서 메서드를 정의 가능 

 

 

오버로딩의 조건

  • 메서드의 이름이 같고, 매개변수의 개수, 타입, 순서가 달라야 한다
  • '응답 값만' 다른 것은 오버로딩을 할 수 없음
  • 접근 제어자만 다른 것도 오버로딩을 할 수 없다.
  • 결론, 오버로딩은 매개변수의 차이로만 구현할 수 있습니다.

 

 

기본형 & 참조형 매개변수

기본형 매개변수

  • 매개변수의 타입이 기본형일 때는 값 자체가 복사되어 넘어가기 때문에 매개값으로 지정된 변수의 원본 값이 변경되지 않는다.
  • 메서드를 호출할 때 전달할 매개값으로 지정한 값을 메서드의 매개변수에 복사해서 전달합니다.

 

참조형 매개변수

  • 매개변수를 참조형으로 선언하면 값이 저장된 곳의 원본 주소를 알 수 있기 때문에 값을 읽어 오는 것은 물론 값을 변경하는 것도 가능
  • 메서드의 매개변수뿐만 아니라 반환 타입도 참조형이 될 수 있다.
  • 반환 타입이 참조형이라는 것은 반환하는 값의 타입이 “실제 값의 주소”라는 의미
  • 메서드를 호출할 때 전달할 매개값으로 지정한 값의 주소를 매개변수에 복사해서 전달

 

728x90