�ν��Ͻ� �޼ҵ� �����丵���� ��ȯ

 

�� ������ Convert to Instance Method ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µ ������ �������� overview �� how ï¿½ï¿½ �����丵�� IntelliJ IDEA���� ���� �� �ִ°��� �����մϴ�.

����


Convert to Instance Method ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ �ʱ� �޼ҵ��� Ÿ�� �� ������ �Ǵ� Ŭ������ �Բ� �� ����, Ŭ���� �ν��Ͻ� �޼ҵ忡 �־�� ������ �޼ҵ带 ��ȯ�ϱ� ���� ���˴ϴ�.


���� ���, �츮�� �����丵 ���� ���� �ڵ带 �����ϴ�:

 
    public class MyClass {
        ClassA classA = new ClassA();
        ClassB classB = new ClassB();
 
        static public void greatMethod(ClassA classA, ClassB classB){
            System.out.println("classA = " + classA);
            System.out.println("classB = " + classB);
        }
 
        public void myMethod(){
            MyClass.greatMethod(classA, classB);
        }
    }



�Դٰ� �� Ŭ����, ClassA ï¿½ï¿½ ClassB�� ���� ������ �ֽ��ϴ�.  Convert to Instance Method ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µ ���� �ڵ�� ������ ���� �� ���Դϴ�:
 
    public class MyClass {
        ClassA classA = new ClassA();
        ClassB classB = new ClassB();
 
        public void myMethod(){
            classB.greatMethod(classA);
        }
    }



�׸���ClassB  : 

 
public class ClassB {
    public void greatMethod(ClassA classA){
        System.out.println("classA = " + classA);
        System.out.println("classB = " + this);
    }
}



�ν��Ͻ� �޼ҵ�� ��ȯ


 1.  ï¿½ï¿½È¯ï¿½ï¿½ �ϱ� ����, ��ü�� ���� �Ǵ� ������ �Ǵ� �޼ҵ��� ��� �󿡼� ij���� ��ġ�Ͻʽÿ�.  ï¿½Þ¼Òµï¿½ï¿½ �ݵ�� ������ ���̰� �� �� ������ ����� ������Ʈ�κ��� Ŭ���� Ÿ���� ���ӿ� Ʋ�������ϴ�.  ï¿½Ù²Ù¾ï¿½ ���ϸ�, ����� �����丵�� ���� StringŸ�����μ� �׷� �� ������ ����� �� ���� �װ͵��� ������ �������� �ʽ��ϴ�.

�׸��� �� �޴� �Ǵ� �����Ϳ��� ������ ��ư�� Ŭ���ϴ� �Ϳ� ���� �ҷ����� �˾� �޴����� Refactor Convert to Instance Method...  ï¿½×¸ï¿½ï¿½ï¿½ Ŭ���Ͻʽÿ�. ������ Convert to Instance Method ���̾�αװ� ��Ÿ���ϴ�:



 2.   Select an instance parameter ï¿½Ø½ï¿½Æ® �ʵ忡��, ��ȯ�� �� ���� �̸��� �����Ͻʽÿ�.

 3.   ï¿½Þ¼Òµï¿½ï¿½ ������ �� ����(ClassB)�� �����ϴ� Ŭ������ �Ű����ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ �޼ҵ���� ���� Ŭ���� �ν��Ͻ� �޼ҵ���� �ݿ� ����˴ϴ�. �׸��� ClassB �ν��Ͻ����� ���� this�� ���� ����˴ϴ�.

Ư���� �ּ�


���� ��ȯ�� �� ������ null  �̶��, ��ſ��� ������ ����� ������Ʈ �� ���Դϴ�.



���� �ڵ�� �߸��� ���Դϴ�.


�׷���, ���� ������ �� ������ null�μ� �������� ������ �װ��� �� ���������� �𸨴ϴ� �׷��� �װ��� null �Դϴ�(null�� ï¿½Þ¼Òµï¿½ ���� ���� �� ó��).  ï¿½ï¿½ï¿½ï¿½ï¿½ �׷� ��쿡�� �����ؾ߸� �մϴ�.  IDEA�� �װ��� ��� �� ���� �����丵�� �Ų����� �۵��� ���Դϴ�.  ï¿½Úµï¿½ï¿½ ������ ������ �� ���� ������ �����ϰ� ������� ���� ���Դϴ�.