inflearn logo
강의

Course

Instructor

Nadocoding's Java Basics - Full Course (20 hours)

Method

BlackBox 파일 내에서 메소드 정의

136

javagonbu

1 asked

0

 BlackBox 내에서 메소드 정의 할때

public static 생략하고 void 나 int만 쓴 이유나 차이점이 있나요?

 

java 객체지향 메소드

Answer 1

0

nadocoding

안녕하세요?

public 은 접근 제어자 중 하나로 각 접근 제어자의 의미는 다음과 같습니다. 아무것도 붙이지 않은 경우 default 로 해당 메소드는 같은 패키지 내에서만 접근 가능합니다.

private : 해당 클래스 내에서만 접근 가능
public : 모든 클래스에서 접근 가능
default : (아무것도 적지 않았을 때) 같은 패키지 내에서만 접근 가능
protected : 같은 패키지 내에서, 다른 패키지인 경우 자식 클래스에서 접근 가능

static 은 객체를 생성하지 않고도 사용(호출)할 수 있도록 하기 위해 사용합니다. (= 클래스 메소드)

static void callServiceCenter() {
    System.out.println("서비스 센터(1588-oooo) 로 연결합니다.");
}

static 이 붙지 않으면 반드시 객체를 생성한 후에만 해당 메소드를 사용할 수 있지요.


void 와 int 는 반환형을 의미하며 메소드 내부의 동작을 수행하고 나서 어떤 형태의 데이터를 반환할지를 결정짓습니다. int 는 정수값을 반환하게 되며, String 은 문자열을 반환하게 됩니다.

// 정수 값 반환
int getPrice() {
    return price;
}

// 문자열 반환
String getResolution() {
    if (resolution == null || resolution.isEmpty()) {
        return "판매자에게 문의하세요.";
    }
    return resolution;
}

단, void 라고 적게 되면 해당 메소드는 아무 값을 반환하지 않겠다는 의미가 됩니다.

void setModelName(String modelName) {
    this.modelName = modelName;
}

그래서 void 라고 작성하게 되면 반환값이 없는 메소드, 그 외에는 입력한 반환형에 해당하는 데이터를 반환하는 메소드가 됩니다. 데이터를 반환하는 메소드는 이 메소드를 호출하는 쪽에서 반환값을 받아서 사용할 수 있게 되지요 😊

감사합니다.

자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?

0

136

2

static이 뭐였는지 기억이 안나요 ㅜㅜ

0

110

2

Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의

0

70

1

사고력 키우는 법이 어떤게 있나요?

0

91

2

getter setter

0

101

2

섹션9. 66 메소드 오버로딩 시 질문이 있습니다.

0

78

1

안녕하세요 갑자기 프로그램 에러가 떠서 안되네요

0

75

2

변수 이름짓는법

0

114

2

intelli J 실행오류

0

114

2

혹시 이건 수학적 사고가 부족한 걸까요?

0

152

2

영상이 재생이 안됩니다.

0

166

3

이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.

0

114

2

응용이 어렵습니다.

0

203

2

IntelliJ가 보이지 않습니다.

0

182

3

JDK 버전 문의

0

128

2

동기화

0

120

2

Iterator 문의

0

104

1

코드 순서 문의

0

139

1

클래스 메소드

0

148

2

Quiz_05 관련 질문드립니다 !

0

117

2

다운로드가 안됩니다

0

165

2

다형성

0

118

2

HashMap

0

80

2

재생이 안됩니다ㅠㅠ

0

121

2