프로토타입 디자인 패턴
프로토타입 디자인 패턴프로토타입 패턴은 객체를 복사품을 만드는것을 의미하는 것이다. 복제된 객체는 호출되는 객체의 현재 상태를 갖고 초기화 되는데 이는 얕은복사 혹은 깊은복사에 기반하여 이뤄진다. 얕은복사 vs 깊은복사얕은복사는 단지 참조의 사본을 만든다고 볼 수 있다.깊은복사는 사본을 새로 생성하여 복사대상이 변경되어도 복사한 데이터는 변경되지 않는다.
프로토타입 디자인 패턴프로토타입 패턴은 객체를 복사품을 만드는것을 의미하는 것이다. 복제된 객체는 호출되는 객체의 현재 상태를 갖고 초기화 되는데 이는 얕은복사 혹은 깊은복사에 기반하여 이뤄진다. 얕은복사 vs 깊은복사얕은복사는 단지 참조의 사본을 만든다고 볼 수 있다.깊은복사는 사본을 새로 생성하여 복사대상이 변경되어도 복사한 데이터는 변경되지 않는다.
팩토리 메서드 패턴공장처럼 팩토리 메서드의 일은 객체를 생성하는것이다. 이는 생성패턴으로 클래스들 중 하나의 객체를 인스턴스화 하는데 사용된다. 생성자에 비해 많은장점을 갖으며 상황에 따라 생성자 대신 혹은 기존의 생성자에 덧붙여 제공하는것이 좋다. Factory12345678910111213141516171819202122232425262728293031
싱글톤패턴클래스에 대한 오직 하나의 인스턴스 만이 허용되는 패턴이다.이를위해 생성자를 private로 선언하여 외부에서 인스턴스를 생성하는것을 방지한다.싱글톤 패턴을 사용할땐 다중 스레드에 주의해야 한다. 스레드에 안전한 코드는 다음과 같다. Singleton12345678910111213141516class Singleton { public:
한 클래스가 여러 클래스와 관계를 갖을 땐 독립적으로 선언하는것이 좋다. 하지만 특정 클래스와 관계를 맺을 땐 내부에 선언하여 불필요한 관계 클래스를 감추고 코드의 복잡성을 감출 수 있게된다. 중첩클래스중첩클래스는 크게 두가지로 나뉘는데 다음과 같다.멤버클래스 - 클래스의 멤버로서 선언되는 중첩클래스. 멤버클래스는 static 여부에 따라 인스턴스 멤버클래
인터페이스의 디폴트 메소드는 자바8부터 나왔다고 한다.. 알아두자.선언은 인터페이스에 하고 사용은 구현객체에서 한다. 왜 이걸 만들었을까?기존 인터페이스를 확장해서 새로운 기능을 추가하기 위해서 특징?디폴트 메소드는 정의된 형태이므로 implemets했을 때 해당 메소드의 구현을 강제하지 않는다. 디폴트 메소드는 다음과 같이 정의할 수 있다. default
어노테이션어노테이션은 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보이다.@가 붙는 형태로 정의된다. 어노테이션은 다음의 용도로 사용된다. 123컴파일러에게 문법에러 체크 ex(@Override)개발 툴이 코드를 자동 생성할 수 있도록 정보제공실행시 특정기능을 실행하도록 정보제공 어노테이션 정의 및 사용법어노테이션 정