inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

내부 클래스와 익명 클래스

내부클래스 객체선언질문

221

네네몬

작성한 질문수 2

2

'OutterClass.InnerClass in = oc. new InnerClass();'

'OutterClass.SInnerClass si = new OutterClass.InnerClass();'

이렇게 선언하는 부분이이 다른데 이유가 있나요?

static내부클래스 선언할때 oc.new SInnerClass(); 이렇게 선언하면 안되나요?

java

답변 1

0

sys

밑에 질문의 답변과 비슷한 내용이 될 것 같습니다. 생성하신 in객체는 OuterClass안에 있는 모든 객체가 사용할 수 없습니다. 그러나 static 클래스는 다르죠. in 객체는 OuterClass.InnerClass에서 밖에 사용할 수 없는 반면 static Class는 OuterClass 안에있는 모든 클래스들이 공유할 수 있어야 합니다. 그래서 OuterClass.SInnerClass로 따로 설정해주는 것입니다. oc.new SInnerClass()로 설정한다면 OuterClass에서 만든 객체 oc에 한정되어 객체가 생성될 것이기 때문에 static으로서의 의미가 사라질 것입니다.

서식 문자 실습 중 콘솔 결과값 글자 깨짐

0

556

1

19-4 : super 클래스 부분에서

0

379

1

비트를 뒤에서부터 읽으셔서 궁금해서 질문드립니다!

1

650

1

배열예제 오류

0

389

1

GC 동작시기가 궁금합니다.

0

374

0

자바 18버전으로 다운받아도 되나요?

0

533

1

클래스 생성과 관련하여 질문 있습니다

0

265

0

형변환시 신규 메모리가 할당 되는지

0

349

0

Socket을 null로 처음에 선언해주는 이유가 뭘까요?

0

303

0

반환값 용도

0

339

1

블로그 작성

0

316

0

삼항연산자 잘못 적으셨어요

0

265

1

어느것부터 다운로드를 해야하는지 좀 막히네요

0

352

1

inputStream.read()질문드립니다

0

325

1

System.out.println("i + j = " + (i+j); 이렇게 쓰는 이유가 뭔가요? " "i + j " = (i +j)라고 쓸수 있는거 아닌가요?

0

368

1

<for문> 예시 작성시 에러발생 질문드립니다

0

577

2

이해가 안가는 부분이 있습니다.. 선생님들.. 도와주세요..!!

0

314

1

인터페이스를 사용 하는 이유가 무엇인가요?..

0

737

1

혹시 영상 만드시고 업로드 전 확인 안하시나요..? 잡음..

1

304

1

이해가 안가는게 있습니다

0

310

2

jdk-16.0.1은 jre가 없이 jdk만 설치되는게 정상인가요?

0

498

1

메모장을 실행하실때

0

313

1

강의 중 말씀해주신 형변환된 코드가 알고 싶어요.

0

231

2

메모장이안돼요 처음에

0

277

0