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

+ Recent posts