���� �޼ҵ� �����丵

 

Extract Method ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ ����ڿ��� ���õ� �ڵ� �����׸�Ʈ�� �޼ҵ�� �ٲٴ� ���� ����մϴ�.  ï¿½ï¿½ �����丵�� ���� �� �ڼ��� ������ Overview�� �����Ͻʽÿ�, �Ǵ�  how to extract a method�� ����� �������� �ٷ� ���ʽÿ�.

����

 

Extract Method  ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ ȣ��� ��, IDEA�� �ڵ��� ���õ� ������ �м��ϰ�, ���õ� �ڵ� �����׸�Ʈ�� ���� �Է��� ������ �װ��� ���� ����� ������ �����մϴ�.  ï¿½ï¿½ï¿½ï¿½ ��Ȯ�ϰ� �� ���� ��� ������ ������, �װ��� ������ �޼ҵ带 ���� ��ȯ ������ ���˴ϴ�.  ï¿½ï¿½ï¿½ï¿½ ��� ������ ���� ��쿡, Extract Method �����丵�� ������� �������� �𸨴ϴ�. �׸��� ���� �޽����� ��Ÿ���ϴ�.  ï¿½ï¿½ ��� Extract Method �۾��� ����ϴ� ������ �ణ�� �ַ���� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ ���, ����� ��� ��� ���� �����ϴ� Ư���� ������-Ŭ������ �����ص� �����ϴ�.  ï¿½×·ï¿½ ���ɼ��� Å« �پ缺 ������, ������ ��ű��� �޷� �ְ� Extract Method �����丵�� �ڵ� ��忡�� ���� ��� ���� �۵����� �ʱ� ������,  ï¿½ï¿½ï¿½ï¿½ï¿½ �ڵ带 �����丵�� �����ϱ� ���� �����ؾ߸� �մϴ�.

The code fragment to form the method, may not necessarily be a set of statements. It may also be an expression used somewhere in the code. For example, applying the Extract Method  to: 

�޼ҵ带 �����ϴ� �ڵ� �����׸�Ʈ�� �ݵ�� �� ��Ʈ�� ������Ʈ��Ʈ�� �ƴ����� �𸨴ϴ�.  ï¿½ï¿½ï¿½ï¿½ �ڵ忡�� ��ü�� ���Ǵ� ǥ���������� �𸨴ϴ�.  ï¿½ï¿½ï¿½ï¿½ ��� Extract Method�� ������ �����ϴ� ��:


results in: 

�����:




���� ��� ������ ��쿡 ���Ͽ�, Extract Method �����丵�� �� �ణ�� ��쿡�� �۵����� ���� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ ���, ��� ���� ���Ǻη� �޼ҵ带 �����ϴ� �Ϳ��� �����ϰ�, �װ��� ���� ������ �ʴ� �ڵ� �����׸�Ʈ�� ���ؼ� �۵����� ���� ���Դϴ�.


 

�޼ҵ带 �����ϴ� ���


  Overview
��� ������ �ٰ��մϴ� 

1.  

�޼ҵ忡 �����Ǵ� �ڵ��� ������ �����Ͻʽÿ�.

2.  

Refactor �޴� ������, Extract Method...  Å¬ï¿½ï¿½ï¿½Ï½Ê½Ã¿ï¿½(�Ǵ� Ctrl + Alt + M ï¿½ï¿½ �����ϴ�). �ٸ� ����� Refactor �� ����Ʈ�ϰ� ������ ������ ��ư�� Ŭ���ϰ� Extract Method...�� Ŭ���ϴ� �� �Դϴ�.


���� ���̾�α״� ��� �Է� ������ ����Ʈ �Ű������μ� ����Ʈ �Ǵ� ������ ��Ÿ�� ���Դϴ�. (���� �� ���� ���λ簡  File | Settings | IDE Settings | Code Style ���̾�α׿��� �����Ǿ��ٸ�, �� ���� �̹� �߰��Ǿ����ϴ�):

 




 3.   

Name �ؽ�Ʈ �ʵ忡��, ���ο� �޼ҵ��� �̸��� �����Ͻʽÿ�.

 4.   

Parameters ��Ͽ���:

 ï¿½ï¿½ï¿½ï¿½ï¿½Ï´ï¿½ üũ�ڽ��� ����/�����Ͽ� �޼ҵ� �� �����μ� �Ѱ��� ������ �����Ͻʽÿ�; ���� �� ������ �Ұ����ϴٸ�, �ʱⰪ�� �Բ� �����ϴ� Ÿ���� ���� ������ ���� ��忡�� ������ �� �Դϴ�. �׷��� ����� �������� ������ ������ �̴ϼȶ������� �Է��ؾ߸� �� �� �Դϴ�.

  �����ϴ� �� ���� ������ ���� Ŭ���ϰ� ���ο� �̸��� �Է��Ͽ� ���ϴ� �� ������ �̸��� �ٲٽʽÿ�

 5.   

Visibility �׷쿡��, ���ο� �޼ҵ带 ���� ���ü��� �����Ͻʽÿ�.

 6.   

���ο� �޼ҵ忡 �Ѿ�� �� ������ ������ �����ϱ� ���� Move Up  and Move Down�� ����Ͻʽÿ�.

 7.   

OK�� Ŭ���Ͻʽÿ�.  ï¿½ï¿½ï¿½Î¿ï¿½ �޼ҵ尡 ������ ���̰� �ڵ� �����׸�Ʈ�� �޼ҵ� �ݷ� ��ü�� ���Դϴ�.

 8.   

���� IDEA�� ������ Ŭ���� ������ ���Ӱ� ������ �޼ҵ带 ��� �ݰ� �Բ� ��ü�Ǵ� � �ߺ��� �ڵ� ������ �ִ� ���� �����ϸ�, ��ſ��� Process Duplicates  ï¿½ï¿½ï¿½Ì¾ï¿½Î±×°ï¿½ ������Ʈ �� �� �Դϴ�.



���� ����� No �� ������, ������ ó������ ���õ� �ڵ��� ������ ���Ӱ� ������ �޼ҵ带 �θ��� ���� ���� ��ü�� ���Դϴ�. ���� �����

Yes�� �����ϸ�,  ï¿½ï¿½ï¿½ �ߺ��� ������ ������ ���̾�α��� ����� �Բ� �� ���Դϴ�.


����� ������ �ڵ带 �����ϴ� �Ϳ� ���� �޼ҵ� ��(���� ����� Yes �� �����ϸ�)�� ���� ����ǰų�, �Ǵ� �״�� ���� ���Դϴ�(���� ����� No�� �����ϸ�).