기초공사 (html,css,javascript)

public,private,void의미 본문

게시판

public,private,void의미

에스프레소라떼 2024. 1. 9. 10:45

https://hongong.hanbit.co.kr/%EC%9E%90%EB%B0%94-%EC%A0%91%EA%B7%BC-%EC%A0%9C%ED%95%9C%EC%9E%90%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%EC%B0%A8%EC%9D%B4public-protected-private/

 

자바 접근 제한자의 종류와 차이(public, protected, private) : 예제 다운로드

자바 코딩할 때 가장 많이 보았던 public과 private의 차이점이 무엇인지 모르고 넘어갔던 분들을 위해 접근 제한자 또는 접근 제어자에 대해 간단히 표로 정리했습니다. 포스팅 하단에서 예제와 용

hongong.hanbit.co.kr

 

public과 private의 의미

위의 사이트 참고

 

접근제한자 : 어떤경우에는 클래스와 인터페이스를 다른 패키지에서 사용하지 못하도록 막을 필요가 있다, 그리고 객체 생성을 막기 위해 생성자를 호출하지 못하거나 필드나 메소드를 사용하지 못하도록 막아야 되는 경우도 있다. 

이떄 접근 제한자를 사용수 있다.


접근 제한자는 public, protected, private와 같이 세 가지 종류가 있다.
public접근 제한자 : 단어 뜻 그대로 외부클래스가 자유롭게 사용할 수 있도록 한다.
protected 접근 제한자 : 같은 패키지 또는 자식 클래스에서 사용할 수 있도록 한다.
private 접근 제한자 : 단어 뜻 그대로 개인적인 것이라 외부에서 사용할 수 없도록 한다.

위 세가지 접근 제한자가 적용되지 않으면 default 접근 제한을 가진다.
-default 접근 제한자 : 같은 패키지에 소속된 클래스에서만 사용할 수 있도록 한다.

 

Java에서 public class, public void, private는 접근 제어자를 나타내는 키워드입니다. 각각의 용도와 기능을 설명해드리겠습니다.

  1. public class: public은 접근 제어자 중 하나로, 해당 클래스가 다른 클래스에서 접근 가능하도록 지정합니다. 즉, 다른 클래스에서 해당 클래스를 인스턴스화하거나 상속받을 수 있습니다. Java 프로그램의 진입점인 main 메서드가 포함된 클래스는 일반적으로 public으로 선언됩니다.
  2. public void: public은 접근 제어자이고, void는 메서드의 반환 타입을 나타내는 키워드입니다. void는 메서드가 반환하는 값이 없음을 의미합니다. public void는 해당 메서드가 다른 클래스에서 호출 가능하고, 반환값이 없음을 나타냅니다. 예를 들어, public void printMessage()는 메시지를 출력하는 메서드로, 다른 클래스에서 이 메서드를 호출하여 메시지를 출력할 수 있습니다.
  3. private: private은 접근 제어자 중 하나로, 해당 멤버(변수 또는 메서드)가 선언된 클래스 내에서만 접근 가능하도록 지정합니다. 다른 클래스에서는 직접적으로 접근할 수 없으며, 해당 클래스의 내부에서만 사용 가능합니다. private 멤버는 클래스의 캡슐화를 위해 사용되어, 외부에서의 직접적인 접근을 제한하고 클래스 내부에서만 사용되도록 합니다. 예를 들어, private int age는 클래스 내부에서만 접근 가능한 age라는 정수형 변수를 나타냅니다.

이렇게 public class, public void, private는 Java에서 접근 제어를 위해 사용되는 문법입니다. 이를 적절히 활용하여 클래스와 메서드의 접근 범위를 조절하고, 객체 지향 프로그래밍의 캡슐화와 모듈화를 구현할 수 있습니다.

 

그럼 반환이라는 의미가 몰까?

반환값이 있는 메서드와 반환값이 없는 메서드는 메서드가 호출된 후에 호출자(메서드를 호출한 코드)에게 전달하는 값의 유무를 나타냅니다.

  1. 반환값이 있는 메서드: 반환값이 있는 메서드는 호출자에게 값을 돌려주는 역할을 합니다. 메서드 내부에서 계산, 처리, 조작 등을 수행한 결과를 호출자에게 반환하여 활용할 수 있습니다. 반환값은 메서드 시그니처에 정의된 반환 타입을 가지며, return 키워드를 사용하여 명시적으로 반환됩니다. 예를 들어, public int calculateSum(int a, int b)는 int 타입의 값을 반환하는 메서드로, a와 b를 더한 결과를 반환합니다.
  2. 반환값이 없는 메서드: 반환값이 없는 메서드는 호출자에게 값을 돌려주지 않고 작업을 수행합니다. 이러한 메서드는 주로 어떤 동작을 실행하거나 결과를 외부에 출력하는 등의 역할을 합니다. 반환값이 없는 메서드는 메서드 시그니처에 void라고 명시되며, return 키워드를 사용하여 값을 반환하지 않습니다. 예를 들어, public void printMessage(String message)는 주어진 메시지를 화면에 출력하는 역할을 수행합니다.

따라서 반환값이 있는 메서드는 호출자에게 결과 값을 반환하여 활용할 수 있고, 반환값이 없는 메서드는 호출자에게 값을 반환하지 않고 작업을 수행합니다. 이는 메서드 사용 시 어떤 종류의 값을 기대할 수 있는지를 나타내는 차이입니다.

 

 

 

 

 

 

 

 

package의미

패키지(package)
자바클래스를 모아놓은 디렉토리, 즉 폴더 개념이다.
패키지에는 클래스 또는 인터페이스를 포함시킬 수 있고, 서로 관련된 클래스들끼리 그룹 단위로 묶어놓아 효율적을  관리할수 있게한다.

같은 이름의 클래스여도 폴더로 분리하여 서로 다른 패키지에 존재하는 것이 가능해, 자신만의 패키지 체계를 유지하면서 다른 개발자가
개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다.

패키지 선언
package {패키지, 즉 해당 소스가 속한 폴더이름};

굳이 이 키워드를 선언해야 하냐면 답은 Yes, 자바에서 클래스를 선언할떄 package를 지정해 주지 않으면 defalut unnamed package로 여겨진다.
이렇게 생성된 클래스는 다른 package에 있는 자바 파일에서 불러올 import 수 없다.

 

void의 의미

“void”를 사용하는 메소드는 결과값을 반환하지 않기 때문에 호출자가 반환값을 받을 필요가 없습니다. 
대신에 메소드 내에서 원하는 작업을 수행하거나, 화면 출력, 파일 쓰기 등의 작업을 처리할 수 있습니다.

 

자바에서 “void”는 특별한 데이터 타입으로, 함수 또는 메소드의 리턴 타입을 나타냅니다. 리턴 타입은 메소드가 수행한 작업의 결과를 반환하는 데이터 타입을 말합니다.

하지만 “void”는 리턴값이 없음을 나타내며, 따라서 메소드가 어떤 작업을 수행하긴 하지만

그 결과값을 반환하지 않는 경우에 사용됩니다.

https://unboundweekend.com/%EC%9E%90%EB%B0%94-void/

 

 

 

'게시판' 카테고리의 다른 글

view.jsp - getParameter() 메서드  (1) 2024.01.11
Apostrophe(아포스트로피)오류  (0) 2024.01.10
JDBC / CONNECTION /DRIVER MANAGER  (0) 2024.01.09
java-클래스  (0) 2024.01.09
DAO와 DTO  (1) 2024.01.08