이 글은 드로우앤드류님의 '(회사 7군데 다니며 느낀) 일 잘하는 사람들의 특징 #일잘러' 영상을 보고 내용을 요약, 느낀 점을 쓴 글임을 밝힙니다.

일 잘하는 사람들의 공통적인 특징

  • 포지셔닝을 잘하는 사람
    • 내가 이 조직에서 어떤 포지셔닝에 있는지, 어떤 일을 해야 하는지 아는 사람.
    • 서포팅이라고 다 해주면 안 된다! - 호구될 바에 X놈 되는 게 편하다..
      • 한번 깔고 가면 계속 깔고 가야 함.. 정치질보다 성과로 인정받는 게 낫다.
    • 내 할 일을 알고 잘 해내는 사람!
  • 공유를 잘하는 사람
    • 사람들과 사람들을 연결시킨다. - 린치핀(수레바퀴 축 고정 핀) -> 대체될 수 없는 존재가 되어라.
    • 기록을 잘하는 사람이 되어야 공유를 잘 함!
    • 구두로 진행한 회의를 이메일로 정리하여 컨펌 부탁하면
    • 구두로 진행되어 모호한 부분이 정리되고 일잘러 처럼 보임ㅋ
  • 구조화를 잘하는 사람
    • 스케줄링을 하는 것.
    • 일을 마치기 위해 단계를 정하고 우선순위를 정하는 것.
    • 원인을 파악해서 문제 해결해야 한다.

일도 안 하면서 계속 일 잘하는 방법을 찾아본다. 뭐지 완벽주의라 해야 하나 게을러서 왕도를 알고 싶어 하는 건가.

후자인 듯. 기록하는 습관을 잘 들여야겠다. 구조화 얘기를 보면 책 읽고 싶어 진다...

추상 팩토리란 추상화(Abstract ) + 팩토리(Factory)를 합친 단어이다.

  • 추상화 : 실제 코드 부분이 작성되지 않고 어떻게 사용할지 명세만 정의하는 것이다.
  • 팩토리 :  객체의 생성을 팩토리 클래스로 위임하여 객체를 생성하는 패턴
  • 추상 팩토리 : 팩토리를 추상화해서 관련있는 객체의 집합을 생성할 수 있는 팩토리를 만들고 조건에 따라 팩토리를 생성해서 서로 관련된 객체를 생성하는 패턴
public abstract class Phone {

    public abstract void power();
}

public class SamsungPhone extends Phone {

    @Override
    public void power() {
        System.out.println("samsung phone power on");
    }

}

public class ApplePhone extends Phone {

    @Override
    public void power() {
        System.out.println("apple phone power on");
    }

}

SamsungPhone 클래스와 ApplePhone 클래스는 Phone 추상클래스를 상속하고 power() 메소드를 오버라이딩한다.

 

public interface PhoneFactory {

    public Phone create();
}

public class ApplePhoneFactory implements PhoneFactory {

    @Override
    public Phone create() {
        return new ApplePhone();
    }

}

public class SamsungPhoneFactory implements PhoneFactory {

    @Override
    public Phone create() {
        return new SamsungPhone();
    }

}

ApplePhoneFactory 클래스와 SamsungPhoneFactory 클래스는 PhoneFactory를 상속하고 create()메소드를 오버라이딩한다.
create() 메소드는 각각 팩토리 클래스 별로 제조사에 맞는 Phone 클래스를 반환한다.

public enum PhoneType {
    SAMSUNG, APPLE
}

public class Main {

    public static void main(String[] args) {
        PhoneFactory phoneFactory = null;
        PhoneType phoneType = PhoneType.SAMSUNG;

        switch (phoneType) {
            case SAMSUNG:
                phoneFactory = new SamsungPhoneFactory();
                break;
            case APPLE:
                phoneFactory = new ApplePhoneFactory();
                break;
            default:
                throw new RuntimeException(phoneType.toString() + " is not existed");
        }

        Phone phone = phoneFactory.create();
        phone.power();

    }

}

enum 타입인 phoneType 별로 PhoneFactory를 생성하고 create() 메소드를 실행한 뒤, phone의 power() 메소드를 실행한다.
phoneType 별로 생성되는 Factory가 바뀌어서 생성되는 phone 또한 바뀌는 것을 볼 수 있다.


출처: https://dev-momo.tistory.com/entry/추상-팩토리-패턴-Abstract-Factory-Pattern [Programming Note]

출처: bamdule.tistory.com/161

 

+ Recent posts