Inline Variable Refactoring  

 

�� ������ ��ſ��� Inline Variable  ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µ �󿡼� ��������  overview��  how ï¿½ï¿½ �����丵�� IntelliJ IDEA���� ���� �� �ִ°��� �����մϴ�.

����


�Ϲ������� �����ڸ�, Inline Variable ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ Introduce Variable ï¿½ï¿½ �ݴ��Դϴ�. Inline Variable ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ �����ϸ鼭, IDEA�� ���� ����� �� �̴ϼȶ������� ��ü�� ���Դϴ�.


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

 
    public class AClass {
        public int MethodA() {
            int aVariable = 1;
            //some code here
            return aVariable;
        }
    }
 
�׸��� ����� aVariable �� ��� �ߺ��̶�� ���ҽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ ����ǰ� �� �Ŀ� �̰��� �ڵ��Դϴ�: 
 
    public class AClass {
        public int methodA() {
            //some code here
            return 1;
        }
    }



Inlining Variable  


������ inline �ϱ� ���Ͽ�

 1.   Å¸ï¿½ï¿½ ���� ���� �Ǵ� ��뿡 ij���� ��ġ�ϰ�, �� �޴����� �Ǵ� �����Ϳ��� ������ ��ư�� Ŭ���Ͽ� �ҷ����� �˾� �޴����� Refactor Inline...  ï¿½ï¿½ Ŭ���ϰų� OR  Ctrl + Alt + N ï¿½ï¿½ �����ϴ�.  ï¿½ï¿½ ���� ������ ��� �߰ߵ� �߻��� ������ ���Դϴ�. �׸��� ����� ���� ���̾�α� �������� �� ���Դϴ�:




�Ϻ� ������ �� �����丵�� ����ϱ� ���� �ֽ��ϴ�:



 
Ÿ�� ������ �� ���𿡼� �ʱ�ȭ�Ǿ�߸� �մϴ�.  ï¿½×·ï¿½ï¿½ï¿½ ������, ��ſ��� ������ ���� �޽����� ������Ʈ �� ���Դϴ�:



  ����
Ÿ�� ������ ��𿡼��� ����Ǹ� ���� ���� �߻��� �����丵�� ���� �ٲ� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ ���濡 �ռ� Ÿ�� ������ � �߻��� ������, ��ſ��� ������ ���� �޽����� ������Ʈ �� ���Դϴ�:



 2.   OK�� Ŭ���Ͻʽÿ�. �׸��� ���ϴ� ������ inline �� ���Դϴ�.


 

����� Inline Variable ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µ ���� ������ ���ۿ��� �˰� �־�߸� �մϴ�.  IDEA��  ï¿½ï¿½ �̴ϼȶ������� ���� ������ ��ü�ϸ鼭 ����� ������ �� �Դϴ� �׷��� �� ���� ����� ��Ȯ���� ����� üũ���� ���� �� �Դϴ�.

�׸��� ����� �����丵�� ������ �� ����� ������ ����� �ڵ带 ������ ä���� ���� ���� Ȯ���ؾ߸� �մϴ�


���� ���, ����� ������ �ڵ带 �����ϴ�:

 
    public class AClass {
        int aField = 1;
 
        public int methodA() {
            int aVariable = methodB();
            foo(aVariable);
            return aVariable;
        }
 
        private int methodB() {
            return aField++;
        }
    }
    

���� ����� aVariable ï¿½ï¿½ ���� Inline Variable ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ �����Ѵٸ�, �޼ҵ� foo �� �־����� methodA �� ���� ���ϵ� ���� ������ ���̰� ����� ����ߴ� ���� �ƴ� �� �Դϴ�.  ï¿½ï¿½ï¿½ï¿½, ����� �����丵 ����� �ſ� ���ɽ����� �ʿ䰡 �ְ� �ʿ��ϴٸ� �ʿ��� ������ �������� ���� �ʿ䰡 ���� ���Դϴ�.