Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 인덱스 튜닝
- 친절한 sql튜닝
- Spring
- Oracle
- java
- 깃허브
- 자바
- 친절한 SQL 튜닝
- 멀티쓰레드
- 컬렉션프레임워크
- Swing
- SQL
- 클래스
- 인스턴스
- 백준
- 오라클
- springboot
- socket
- 상속
- 서버
- 인덱스설계
- 클라이언트
- 생성자
- SQLP
- 코딩
- 메소드
- db버퍼캐시
- 카카오코딩테스트
- DB
- JavaScript
Archives
- Today
- Total
프리 정보 컨텐츠
자바 익명 클래스란? 본문
반응형
자바가 사용하는 InnerClass 중의 한 종류인 익명 클래스라는 것은 자주 사용하게 된다.
익명 클래스는 부모 클래스를 상속받는 클래스를 따로 생성하지 않아도 단일 객체를 통해서 사용할 수 있다.
익명 클래스는 클래스와 인터페이스로부터 만들 수 있다.
익명 클래스를 사용하는 이유?
익명 클래스가 클래스를 따로 생성하지 않아도 사용할 수 있다는 것을 알았다.
하지만 익명 클래스를 굳이 왜 사용해야되는걸까?
익명클래스는 1회용 자식 클래스 사용하므로 불필요한 클래스를 만들지 않아도 된다.
불필요한 클래스를 만들지 않음으로써 코드의 가독성, 유지보수, 길이를 줄일 수가 있다.
class Inner4 {
// 익명 클래스는 자주 쓰이고 중요하니 숙지 필요
int x = 40;
int y = 50;
public void disp() {
System.out.println("x = " + x);
}
}
// 일반 상속 자식 클래스 만드는 방법1
class Inner44 extends Inner4{
@Override
public void disp() {
System.out.println("y = " + y);
}
}
public class Exam4 {
public static void main(String[] args) {
// 자식 기준 사용법
Inner44 inner44 = new Inner44();
inner44.disp();
// 부모 기준 사용법
Inner4 inner4 = new Inner44();
inner4.disp();
int a = 100;
// 익명 클래스 사용 -> 부모 기준 사용법 사용빈도수가 높음
Inner4 inner = new Inner4() {
@Override
public void disp() {
System.out.println("익명 클래스, y =" + y);
System.out.println("a = " + a); // 함수안에서 지정한 지역변수는 final 로 a값 전환 불가
}
};
inner.disp();
}
}
위의 예시를 통해 상속할 때 부모 클래스의 사용법과 익명 클래스를 사용할 때의 차이점을 알아볼 수 있다.
익명클래스의 형식은 다음과 같다.
부모클래스 인스턴스 = new 부모클래스() {
};
익명클래스는 별도의 생성자를 작성하지 않으며, 생성자와 동일하게 객체를 생성할 뿐이다.
반응형
Comments