티스토리 뷰
[java 24강] 내부 클래스(Inner Class)
오늘 강의는 내부 클래스(Inner Class) 에 대해서 알아보겠습니다.
내부 클래스는.... 클래스 안에 클래스입니다.
그럼 외부클래스는 무엇일까요? 바로 내부 클래스 밖에 있는 클래스를 말합니다.
내부 클래스의 장점은..
1. 외부 클래스의 변수나, 메소드를 자유롭게 사용이 가능한것.
2. 코드 복잡성을 줄일수 있습니다. (클래스도 캡슐화를 위해 사용하죠? 캡슐화 된것에서 한번더 캡슐화 했다고 생각하시면됩니다.)
그럼 내부클래스 안써도 되잖아? 라는 생각이 듭니다.
정말 사실대로 말씀드리면 진짜 별로 쓸일이 없습니다.
아주 가끔! 이벤트처리 들을 만들다가 너무 많아지면 묶음 개념으로 사용해본것 같습니다... ㅎㅎ
그래도 자바에서는 내부 클래스 라는것도 되는구나! 라고 알아두셔야 하기때문에 강의를 작성하였습니다.
바로 예제로 들어가도록 하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package test24; public class test24 { public static void main(String[] args) { test1 A = new test1(); test1.test2 B = A.new test2(); B.test3(3, 4); } } class test1 { int a = 0; int b = 0; class test2{ public void test3(int c, int d) { a = c; b = d; System.out.println("int a = "+a+" int b = "+b); } } } | cs |
실행 결과
소스코드 해설
test1 클래스에 test2 클래스를 만들어 넣었습니다. (test1 클래스는 외부클래스, test2 클래스는 내부클래스 가 됩니다.)
외부클래스 test1 클래스에 변수 a,b 를 만들어 주었습니다.
내부클래스 test2 클래스에 test1 클래스의 변수들의 값을 넣어주고 현재 값을 출력할수 있는 test3 메소드를 만들어 주었습니다.
다음 만들어준 클래스를 생성합니다.
'Programming > JAVA, Spring' 카테고리의 다른 글
[java 26강] 디자인 패턴(Design Patterns) (0) | 2018.03.08 |
---|---|
[java 25강] 익명 클래스(Anonymous Class) (0) | 2018.03.06 |
[java 23강] 인터페이스 (interface) (4) | 2018.02.20 |
[java 22강] 추상 클레스 (Abstract Class) (2) | 2018.02.19 |
[java 21강] 오버라이딩 (Overriding,오버라이드,Override), 슈퍼 (super) (0) | 2018.02.18 |
- Total
- Today
- Yesterday
- 자바
- 별정통신사 저렴한 요금제
- 알뜰 저렴한 요금제
- Javascript
- 티스토리 블로그
- JQuery
- 별정 저렴한 요금제
- 알뜰통신 저렴한 요금제
- 티스토리 가입
- 별정통신 저렴한 요금제
- 제이쿼리
- 알뜰통신사 저렴한 요금제
- 제주도가볼만한곳
- 티스토리
- 티스토리초대장확인
- 저렴한 요금제
- 자바스크립트
- 핸드폰 만원 미만 요금제
- 조던
- java
- 티스토리 초대장
- 정보처리기사
- 초대장
- 핸드폰 저렴한 요금제
- 알뜰폰 저렴한 요금제
- 핸드폰 싼 요금제
- jsp 태그
- 1000원 요금제
- 무실적 체크카드
- 0원 요금제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |