BlackBox 파일 내에서 메소드 정의
136
1 asked
BlackBox 내에서 메소드 정의 할때
public static 생략하고 void 나 int만 쓴 이유나 차이점이 있나요?
Answer 1
0
안녕하세요?
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

