인프런 커뮤니티 질문&답변

이니오님의 프로필 이미지
이니오

작성한 질문수

나도코딩의 자바 기본편 - 풀코스 (20시간)

접근 제어자 (후반전)

자바 default 접근제어자임에도 다른 클래스에서 호출이 되네요.. 뭐가 문제일까요

작성

·

316

0

안녕하세요 나도코딩님! 덕분에 직장다니면서 잘 공부하고 있는 애청자 1입니다. 접근제어자 부분 공부중입니다.VSCODE로 코딩하고 있구요!챕터 07에서 이렇게 챕터 7에서 만든 블랙박스리퍼비쉬 클래스가 기존에 있었고,챕터8에서 resolution변수를 호출하면 빨간 선이 생기며 안되어야 하는 게 정상인데 public class _05_accessModifierTest { public static void main(String[] args) { BlackBoxReferbish b1 = new BlackBoxReferbish(); b1.modelName = "까망이"; // 퍼블릭 변수엿음 b1.resolution = "FHD";컨트롤 키를 누른 채로 챕터8에 임시로 만든 블랙박스리퍼비쉬 b1.resolution 변수가 잘 불러와지네요..아무 것도 적지 않으면 default 접근제어자로 처리되어서 같은 클래스 내에서만 접근이 가능해야 하는데무엇 때문에 가능한 걸까요? public class BlackBoxReferbish { public String modelName; String resolution; private int price; protected String color;

답변 3

1

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요?

VSCode 에서 학습을 하고 계셨군요 😊
다음 링크 내용을 참고하여 저도 동일한 환경을 구성하였는데, Explorer 에서 새 폴더 만들기를 통해 진행해도 파일명에 올바로 패키지가 나타나는 것을 확인하였는데, 질문자분께서 작업중인 환경에서는 뭔가 다른 부분이 있는 것 같아요!

아래 그림과 같이 좌측 하단에 JAVA PROJECTS 부분을 선택하신 뒤에 src 우클릭 > New > Package 를 선택하셔서 패키지 및 새로운 파일을 만드셨을 때는 올바른 패키지 구조가 잡히는지 확인 부탁드립니다.

image

감사합니다.

이니오님의 프로필 이미지
이니오
질문자

여지껏 이상하게 하고 있었네요...ㅎㅎ ㅠ 바로 해결됐습니다 감사합니다!

이니오님의 프로필 이미지
이니오
질문자

아래의 javaprojects에서의 src와 위 hello 폴더의 src가 있는데, 조작에 있어서 차이가 이런 패키지 파일을 만들 수 없다는 점 외에 또 어떤 것이 있을까요?

0

나도코딩님의 프로필 이미지
나도코딩
지식공유자

저는 VSCode 에서 자바 개발을 해본적은 없어서 정확한 답변은 어렵지만, 동작을 확인해봤을 때 Explorer 화면에서는 윈도우 탐색기와 같이 일반적인 파일 / 폴더 관련한 작업을 할 수 있다면 JavaProjects 화면에서는 자바 특화된 기능, 가령 개발중인 내용을 Jar 로 Export 하거나 소스코드 전체를 빌드하는 작업, 자바 실행 환경 설정 등을 편하게 할 수 있습니다.

클래스와 인터페이스 또한 동일한 java 파일이지만 Explorer 에서는 아이콘의 구분이 되지 않지만 JavaProjects 는 구분이 되어서 편리하게 확인할 수도 있겠네요. 가급적 VSCode 에서는 JavaProjects 화면에서 작업하시는 편이 좋아 보입니다 😊

image

이니오님의 프로필 이미지
이니오
질문자

답변 감사합니다!! 혹시 개발을 함에 있어서 언어별로 주로 사용하는 텍스트 에디터가 있는 걸까요?? 사실 가장 처음 자바 찐 입문 당시 다른 분의 강의로 입문을 했는데, 그 분이 vscode로 알려주셔서 이게 익숙해 그대로 쓰고있긴 합니다 ㅎㅎ 하지만 주변 개발쪽으로 꿈꾸는 친구들 보면 거의 이클립스나 다른 걸 사용하고 vscode는 거의 쓰지는 않는 것 같더라구요!

0

이니오님의 프로필 이미지
이니오
질문자

접근제어자 후반전 6분 30초대입니다.

뿐만 아니라 protected도 호출이 되네요... 다른 클래스인데..

class A {

}

로 블랙박스 리퍼비쉬에서 만든 default 클래스 A도 chap_08에서 호출이 잘 되네요 ㅠㅠ

 

나중에 봤는데, 제가 이제까지 VScode에서 패키지를 만든답시고 src에서 우클릭 후에 new folder생성해서 그 안에서 하위파일로 .java 파일들을 만들고 있었는데 패키지를 만든 게 아니었던 것 같네요 ㅜㅜ

맨 첫번째 줄에 package 줄이 있어야 하는데 바로 public class 이렇게 시작하네요

이니오님의 프로필 이미지
이니오

작성한 질문수

질문하기