본문 바로가기

분류 전체보기

(13)
[디자인 패턴의 정석] 구조패턴 - 브리지 패턴 (Bridge) 개발자 yeah의 Developer Story - 디자인 패턴 오늘은 저번 포스팅에 이어서 브리지 패턴 을 이야기해보려 합니다. 브리지 패턴 은 객체의 확장성을 향상시키기 위한 패턴으로, 객체에서 동작을 처리하는 구현부와 확장을 위한 추상부를 분리합니다. 이렇게 분리된 2개의 추상 계층과 구현 계층은 독립적인 확장 을 가능하게 합니다. 또한 클라이언트 코드에서는 추상 계층과 연결된 구현 계층을 변경하더라도 영향을 받지 않고 사용할 수 있게 됩니다. 그렇다면 어떻게 구현부와 추상부를 나뉘어서 객체의 확장성을 향상 시키는것일까요? 다음 Shape 를 상속받아 Rectangle, Circle 을 만드는 예시가 있습니다. 상위 클래스 Shape 을 상속하여 생성된 Rectangle, Circle 클래스가 존재하..
[디자인 패턴의 정석] 구조패턴 - 어댑터 패턴 (Adapter) 개발자 yeah의 Developer Story - 디자인 패턴 오늘은 저번 포스팅에 이어서 어댑터 패턴 을 이야기해보려 합니다. 개발자는 자신의 코드가 재사용되도록 하기 위해 다양한 변화를 예측하며 코드를 작성합니다. 하지만 동작의 변화, 데이터 타입의 불일치, 매개변수의 불일치 등 다양한 차이가 발생하여 모든 상황을 예측하여 설계할 수 없습니다. 따라서 우리는 이전 코드를 재사용하기 위해서는 변환 작업이 필요하게 됩니다. 우리는 변환 작업을 위해 우리는 보정 코드를 넣게 되는데요. 보정동작이 여러 곳에 분포돼 있다면 많은 영역의 코드가 수정돼야 하며, 가독성이 많이 떨어지게 됩니다. 이러한 경우 별도의 객체를 생성하여 보정을 처리하는 것이 좋은데요! 보정만을 위해 설계된 객체를 활용하는 방법이 바로 어..
삼성전자 개발자가 되려면 - 삼성 공채 서류 작성 꿀팁 안녕하세요! 취준생을 위한 생생정보 를 전할 yeah 입니다. 오늘은 지난 포스팅에 이어 삼성 공채 서류 작성 꿀팁 을 알려드릴까 합니다. ※ 해당 내용은 저의 경험과 많은 후배들을 가이드하면서 축적된 Know-How 이기 때문에 주관적인 생각이란 점 잊지 마세요!! 삼성 공채 는 상반기 / 하반기 1년에 2번 공채를 진행하는데요. (인턴은 상반기에만 진행) 삼성 공채 는 모든 계열사가 동시에 시작하기 때문에 계열사 별 중복지원이 불가능합니다. 따라서 본인이 원하는 계열사의 사업부 정보에 맞춰서 서류를 준비해야 유리합니다. 삼성 채용 사이트 : www.samsungcareers.com/main.html 삼성채용 홈페이지 인재를 중시하고 키우는 기업문화, '기업이 곧 사람'이라는 신념을 바탕으로 모든 사람..
[디자인 패턴의 정석] 생성패턴 - 프로토 타입 패턴 (Prototype) 개발자 yeah의 Developer Story - 디자인 패턴 오늘은 저번 포스팅에 이어서 프로토 타입 패턴 을 이야기해보려 합니다. 먼저 프로토 타입 패턴 설명에 앞서 객체 생성에 대해 간단히 설명하도록 하겠습니다. 객체를 생성하기 위해서는 먼저 클래스 선언이 필요하며, 선언된 클래스를 기반으로 객체를 생성합니다. 객체는 선언된 클래스의 인스턴스화를 통하여 메모리 에 적재됩니다. 여기서 일반적으로 객체를 만드는 방법은 new 키워드가 유일하며, new 키워드를 통해 선언한 클래스의 객체를 생성합니다. 이처럼 객체지향에서 객체를 생성하는 것은 시스템의 자원을 소모한다는 의미입니다. 일반적인 클래스의 특징으로는 한 번의 선언으로 다수의 동일한 객체를 생성 할 수 있다는 것입니다. 물론 다수의 동일한 객체를..
[디자인 패턴의 정석] 생성패턴 - 빌더 패턴 (Builder) 개발자 yeah의 Developer Story - 디자인 패턴 오늘은 저번 포스팅에 이어서 빌더 패턴 을 이야기해보려 합니다. 먼저 빌더 패턴 을 설명하기 전에 복합 객체에 대해 설명을 하도록 하겠습니다. 복합 객체란 하나의 객체가 다른 객체를 포함하는 관계 구조를 말합니다. 즉 내부적으로 다른 클래스의 객체를 포함하는 것이죠. 따라서 복합 객체는 객체를 생성하는 과정이 단일 객체보다 복잡 할 수 있습니다. 코드로 예를 들어 보겠습니다. /* Cpu 클래스 */ public class Cpu { String cpu; Cpu(String cpu) { this.cpu = cpu; } String getInfo() { return cpu; } } /* Ram 클래스 */ public class Ram { St..
[디자인 패턴의 정석] 생성패턴 - 싱글턴 패턴 (Singleton) 개발자 yeah의 Developer Story - 디자인 패턴 오늘은 저번 포스팅에 이어서 싱글턴 패턴 을 이야기해보려 합니다. 먼저 싱글턴 패턴을 설명하기 앞서 객체 생성에 대해 알아보도록 하겠습니다. 선언된 클래스를 객체로 생성하는 과정을 인스턴스화 라고 합니다. 인스턴스화는 선언된 클래스를 기반으로 객체를 생성해 메모리에 할당하는 작업을 수행하는데요. 이 모든일을 수행하게 하는 키워드가 바로 new 키워드 입니다! 이러한 객체 생성 과정은 new 키워드를 통해 반복 생성할 수 있습니다. 한번 선언된 클래스를 이용하여 동일한 객체를 제한없이 무제한으로 생성 가능합니다. (시스템 자원이 허락하는 한에서) 이러한 이유로 객체를 붕어빵과 붕어빵틀(?) 로 비유하여 설명하는 경우가 많은 것이죠. 이는 객체지..
[디자인 패턴의 정석] 생성패턴 - 추상 팩토리 패턴 (Abstract Factory) 개발자 yeah의 Developer Story - 디자인 패턴 오늘은 저번 포스팅에 이어서 팩토리 메서드 패턴의 확장 패턴인 추상 팩토리 패턴을 이야기해보려 합니다. 먼저 추상 클래스를 상속받은 하위 클래스의 특징을 설명하도록 하겠습니다. 추상클래스에서 정의한 추상 메서드 를 이용하여 각각의 하위 클래스는 이를 오버라이드 하여 목적에 맞도록 실제 동작하는 메서드를 구현 하게 됩니다. 만약 목적에 따라 다른 하위클래스가 필요하게 된다면, 그 목적에 따라 실제 동작하는 메서드는 저 마다 다르게 구현 할 수 있습니다. 이를 객체지향에서 다형성 이라고 부릅니다. 추상화 된 Factory 클래스를 통한 객체 생성은 2가지 방법이 존재하게 되는데요. 첫 번째는 지난 포스팅에서 배운 팩토리 메서드 패턴 입니다. 팩토..
삼성전자 개발자가 되려면 - 삼성 공채 편 안녕하세요! 취준생을 위한 생생정보 를 전할 yeah 입니다. 오늘은 매 공채마다 10만명 이상 지원을 하는 우리나라의 대표기업 삼성 공채에 관해 설명해 드리려 합니다. 공채 시즌은 1년에 상반기 / 하반기 이렇게 2번의 시즌이 있습니다. (인턴은 상반기만 지원 가능) ※해당 공채는 3급 신입채용(대졸) 을 의미. 통상 하반기가 상반기 보다 약 2배수의 채용을 하고 있으며, (하반기는 대학 졸업 예정자가 있기에..) 이에 취준생들의 여건과 준비에 따라 전략적으로 시기를 결정 할 필요가 있습니다. (상/하반기 각각의 장단점이 존재하기에) 삼성에 입사하기 위해서는 다양한 관문들이 존재하는데요! 서류 접수 -> 직무적성검사 (GSAT) -> 면접 -> 건강검진 순으로 진행이 됩니다. ※삼성 모든 계열사가 거의..