1.익명객체, anony
익명객체란 클래스의 객체화 할 때 메소드를 임시로 생성하는 것이다.
실체가 없다고도 하며 한 두번 쓰이고 말 때에 작성한다. 그리고 일반적으로 static 영역에 만들어지지만
익명 개체는 heap영역에 올라간다. 클래스의 특징인 재사용을 할 필요가 없다면 익명객체가 좀 더 효율적이라고 볼 수 있다.
package chap06.exam06.anony; import chap06.exam05.poly.Common; import chap06.exam05.poly.CommonImpl; public class Main { public static void main(String[] args) { // 익명 개체 // 일반적인 객체 메서드 사용 CommonImpl impl = new CommonImpl(); impl.test1(); // 익명 = 이름이 없다. = 실체가 없다. -> 한번만 쓰고 버리는 경우 // 클래스는 static 메모리에 만들어지는데 익명 개체는 heap영역에 올려짐 Common com = new Common() { @Override public void test2() { System.out.println("TEST 2"); } @Override public void test1() { System.out.println("TEST 1"); } }; // 익명객체 = 단일클래스에서 한번 쓸 경우 // 여러 클래스에서 객체를 원할 경우는 비효율적이다. com.test1(); com.test2(); } }
2.결합도, Coupling
결합도란 클래스가 얼마나 똘똘 뭉쳐있냐라고 할 수 있다.
클래스의 중요한, 기능들을 공유하는 특징을 여러 클래스를 만들어 분산하였다면 결합도가 낮은것이고
한 두개의 적은 클래스 파일에 많은 기능을 집어 넣었다면 결합도가 높은것이다.
결합도가 낮은 코딩이 재사용, 객체지향의 특징을 더욱 살렸다고 보며 상황에 따라 다를 수도 있지만 더 잘 코딩했다고 한다.
특히 결합도가 낮으면 클래스 하나하나가 복잡하지 않고 보기 쉬울것이며
그러한 이유로 유지보수에 좀 더 효율적이라 볼 수 있다.
'개념 및 코딩 > 05.상속' 카테고리의 다른 글
[JAVA]05-05.추상클래스, 인터페이스 (0) | 2018.08.30 |
---|---|
[JAVA]05-04.다형성 배열, 활용 (0) | 2018.08.29 |
[JAVA]05-03.다형성 (0) | 2018.08.29 |
[JAVA]05-02.오버라이드 (0) | 2018.08.27 |
[JAVA]05-01.상속 (0) | 2018.08.24 |