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 | 29 | 30 |
Tags
- CloudFormation
- Service
- Kubernetes
- 옵셔널 체이닝
- JavaScript
- Custom Resource
- 구조분해 할당
- api gateway
- transit gateway
- null 병합 연산자
- optional chaining
- docker swarm
- DynamoDB
- Proxy Resource
- elasticsearch
- 온프레미스
- On-Premise
- grafana
- docker
- Endpoints
- 자바스크립트
- vgw
- 비구조화 할당
- Await
- 단축 평가
- Site-to-Site VPN
- AWS
- prometheus
- VPC
- cognito
Archives
- Today
- Total
만자의 개발일지
[Java] Anonymous Class(익명클래스) 란? 본문
Anonymous Class(익명클래스)란 사전적정의로는 이름이 없는 클래스이다.
하지만 이렇게 말하니 너무 어렵지 않은가?
조금 풀어서 설명하자면 익명클래스는 클래스의 필드와 메소드를 재구성 또는 재정의 하여
일회용으로 사용할 수 있게끔 만드는 일종의 문법이다.
보통 해당 클래스에서만 사용되고 다른 클래스에서 사용되지 않는 경우에 익명클래스를 사용한다.
익명클래스는 생성자뒤에 블록을 씌워준 형태로 사용되며 블록끝에 세미콜론(;)을 붙여줘야 한다.
class MyClass{
void methodA() {
System.out.println("methodA입니다.");
}
void methodB() {
System.out.println("methodB입니다.");
}
}
public class Anonymous {
public static void main(String[] args) {
MyClass mc1 = new MyClass();
MyClass mc2 = new MyClass() {
@Override
void methodA() {
System.out.println("익명클래스로 오버라이딩한 메소드입니다.");
}
};
mc1.methodA();
mc2.methodA();
mc1.methodB();
mc2.methodB();
}
}
위 코드를 살펴보자.
MyClass라는 클래스를 선언해주었고 그안에 methodA() 와 methodB() 메소드를 선언해 주었다.
mc1은 MyClass를 인스턴스로 받고 있고 mc2는 MyClass의 methodA() 메소드를 오버라이딩하여 선언해주었다.
각각의 두 메소드를 실행시켜보자.
mc2의 methodA() 메소드와 mc1의 methodA()가 다르게 나오는 것을 확인할 수 있다.
이처럼 익명클래스를 이용하면 보다 쉽게 코드를 작성할 수 있다.
'Java > Java' 카테고리의 다른 글
[Java] Call by value 와 Call by reference (0) | 2021.06.16 |
---|---|
[Java] Java에서 MySQL 접속하기 (0) | 2021.05.02 |
[Java] String matches (0) | 2021.02.26 |
이클립스 .java 파일 cmd로 실행하기 (0) | 2021.02.25 |
[Java] Switch 표현 정리 (2) | 2021.02.24 |
Comments