묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
자바 default 접근제어자임에도 다른 클래스에서 호출이 되네요.. 뭐가 문제일까요
안녕하세요 나도코딩님! 덕분에 직장다니면서 잘 공부하고 있는 애청자 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;
-
미해결김영한의 실전 자바 - 기본편
private static int count 인 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.강의 내용에서 편의를 위해서public class Data3 { public String name; public static int count; public Data3(String name) { this.name = name; count++; } }count를 public으로 선언후에 Data3 인스턴스를 만들어서Data3.count에 접근하는 방식은 이해했습니다. 실제로 사용시에는 아래처럼 getCount()를 만들어서 사용해야 할까요?public class Data3 { public String name; private static int count; public Data3(String name) { this.name = name; count++; } public int getCount() { return count; } } 아니면 더 좋은 사용방법이 있을까요?
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
TS클래스 접근제어자 상속 질문있습니다!
class Employee2 { constructor( public name: string, protected age: number, private position: string ) {} work() { console.log("일하는중"); } } class Emp extends Employee2 { constructor( public name: string, protected age: number, public codeNum: number ) { super(name, age); this.codeNum = codeNum; } } private를 설정한 경우 클래스 Emp처럼 상속받았을때 super에서 3개 인수가 필요한데 2개를 가져왔다고 오류가 뜨는데 그렇다고 private 설정한 position을 con structor이나 super에 적어도 오류가발생하고 private를 설정한 클래스를 상속받아서 사용할때는 어떤식으로 해야할까요??
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
protected 접근 제어자 간단한 질문 및 코드 작성 방식?
안녕하세요, 다름이 아니라 제가 퀴즈 #7, 퀴즈 #8, 섹션 8. 접근 제어자 (전반전 및 후반전) 강의를 듣고, 궁금한 것이 생겨서 이렇게 글을 남깁니다.(1) 접근 제어자랑 관련된 간단한 질문입니다. 제가 올바르게 이해하고 있는지 한 번 확인해보고 싶습니다. 제가 강의를 들었을 땐, protected 예약어는 같은 패키지에서도 사용 가능하고, 다른 패키지에서 사용하고 싶을 땐, 자식 클래스에서 써야하는 걸로 이해했는데, 이 '같은 패키지'라는 말은 패키지 뿐만 아니라 (아마 당연하겠지만) '같은 클래스 안에서도 사용 가능하다'는 것도 내포하는 건가요?(2) 코드 작성 방식에 관한 질문입니다. 퀴즈 #7 강의를 듣기 이전에 제 스스로 코드를 아래와 같이 적고 결과도 강의에서 제시한 바와 같이 똑같이 만들었습니다:그런데 선생님의 코드를 보니 한 클래스 내에서 여러 개의 생성자를 만들 수 있다는 것을 이용해서 아래 사진처럼 생성자 2개를 하나는 this()로, 하나는 String name 전달 값을 포함하는 public 생성자를 만들어서 이름을 지으셨는데, 혹시 이렇게 코드를 적는 방식의 차이가 있을까요? 또한 이름을 지을 때 그대로 this,name = "햄버거"; 또는 super,name = "치즈버거"; 이렇게 작성해도 상관없는 건가요? (중간에 반점은 점(.)을 넣게되면 글 안에서 하이퍼링크가 자동 생성되어 불가피하게 반점을 넣었습니다. 양해 부탁바랍니다.)3. 마찬가지로 코드 작성 방식에 관한 질문입니다. 퀴즈 #8 강의를 듣기 이전에 제 스스로 코드를 적고, 결과도 강의에서 제시한 바와 같이 똑같이 만들었습니다:다만 한 가지 다른 것은 저는 사진처럼 this.AccidentDetector = AccidentDetector;로 직접적으로 접근하는 방향으로 해서 코드를 썼고, 이 이후에는 this.detector.detect();나 this.reporter.report();를 이용한 것이 아닌 AccidentDetector.detect();와 VideoReporter.report();로 작성하여 코드를 완성했습니다. (비록 사진에는 나와있지 않지만...ㅎ) 이러한 경우에도 상관 없는 건가요?지난 번에 제 글에 달린 답변은 정말로 자세해서 많이 도움이 되었습니다. 항상 감사합니다.
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
default 접근제어자에 관한 질문
강의 내용에 따르면 패키지 내부에 있는 클래스의 접근제어자가 생략되면 default 접근제어자를 갖는데, default package에 있는 클래스의 접근제어자가 생략되어도 default 접근제어자를 갖는 건가요? 그렇다면 클래스의 위치에 상관 없이 접근제어자가 생략되면 default 접근제어자를 갖는다고 보면 되는 건가요?