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�� �����ϸ�).
|
|