• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

8강.클래스 강의 중 메소드 관련 질문

23.03.02 18:49 작성 조회수 254

0

안녕하세요,

8강.클래스 강의 중 return값을 갖는 메소드 예제 관련 질문 드립니다.

 

블랙박스를 예시로 return 값을 갖는 메소드는 다음과 같았는데요,

 

int getVideoFileCount(int type) {

if (type ==1) {

return 9;

}

 

여기서 왜 type = 1 이라고 하지 않고, type ==1 이라고 하는지 궁금합니다. 그간 정수 전달값을 받고 조건문을 수행할때 단순히 i = 3 과 같이 하나의 등호만 사용했던 것 같아 헷갈려 질문드립니다.

 

감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요?
getVideoFileCount() 메소드는 전달값으로 받은 type 에 따른 동영상의 개수가 몇 개인지를 확인하기 위해 작성되었습니다. type 이 1 이면 일반 영상의 개수, 2 이면 이벤트 영상의 개수, 그 외의 값이면 모든 영상의 개수를 반환하도록 되어 있는데요. type 이 1 인지 2 인지를 확인하기 위해서는 등호를 두 번 써서 == 으로 비교를 해야 합니다.

if (type == 1) {
    ...
}

위 코드에서 if 문 내에 쓰인 type == 1 은 "type 변수에 저장된 값이 1 이 맞는가?" 를 확인하여 참이면 if 문 내의 동작이 수행되며 거짓이면 수행되지 않고 다음 else if 문으로 넘어가게 된답니다.

= 과 == 은 완전히 다른 동작이므로 주의하셔야 해요. 하나씩 살펴볼게요.

1) type = 1

이 문장은 type 이라는 변수에 1을 저장하라는 의미입니다. 다음과 같이 사용할 수 있으며 값의 변화를 확인할 수 있습니다.

int type; // 변수 선언        

type = 0; // 0 저장
System.out.println(type); // 0 출력

type = 1; // 1 저장
System.out.println(type); // 1 출력

2) type == 1

이 문장은 type 변수에 저장된 값이 1 과 같은지를 비교하라는 의미입니다. 다음과 같이 사용할 수 있습니다.

int type = 1;

if (type == 1) {
    System.out.println("type 의 값은 1입니다.");
} else {
    System.out.println("type 의 값은 1이 아닙니다.");
}

실행 결과는 다음과 같습니다.

type 의 값은 1입니다.

= 과 == 의 차이를 잘 알아두세요 😊
감사합니다.