Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. package com.test.example.collection;
  2.  
  3. public class Ex80_Anonymous {
  4. public static void main(String[] args) {
  5.  
  6. //익명 객체, Anonymous Object
  7. // - 익명 클래스, Anonymous Class
  8. // - 이름없는 클래스
  9.  
  10. //익명 객체 만드는 방법 + 사용하는 용도
  11. // - 부모 타입을 통해서 자식 익명 객체를 생성한다.
  12. // 1. 부모 클래스 > 익명 객체 생성
  13. // 2. 부모 인터페이스 > 익명 객체 생성
  14.  
  15.  
  16. //인터페이스 구현 클래스의 객체는 반드시(?) 인터페이스 변수를 만들어서 참조한다.
  17. //클래스 변수 참조 : 비권장..
  18. //BBB obj = new BBB();
  19. AAA obj = new BBB();// 안정성 높은 코드 + 협업 도움
  20.  
  21. obj.test(); // 최종목적
  22.  
  23. //사용 횟수가 적은 객체를 만들기 위해 클래스를 제작한 상황 > 클래스 생성 비용이 더 높다. + 클래스 개수도 증가
  24. //결론 : 클래스 선언 없이 객체 만드는 방법
  25. AAA obj2 = new AAA() {
  26.  
  27. @Override
  28. public void test() {
  29. System.out.println("인터페이스를 구현한 익명 객체 입니다.");
  30. }
  31. };
  32.  
  33. obj2.test();
  34.  
  35.  
  36. AAA obj3 = new BBB();
  37. obj3.test();
  38.  
  39. AAA obj4 = new AAA() {
  40. @Override
  41. public void test() {
  42. System.out.println("인터페이스를 구현한 익명 객체 입니다.");
  43. }
  44. };
  45.  
  46.  
  47. }
  48. }
  49.  
  50.  
  51.  
  52. interface AAA {
  53. void test();
  54. }
  55.  
  56.  
  57. //AAA를 구현 객체가 필요하다.
  58. class BBB implements AAA {
  59.  
  60. @Override
  61. public void test() {
  62. System.out.println("인터페이스를 구현한 실명 객체(BBB) 입니다.");
  63. }
  64.  
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement