개발을 진행하다보면 이전에 짰던 소스를 그대로 복사하여 현재 프로젝트에 붙여넣기를 하는 경우가 많이 있습니다. 그런데 소스를 복사 붙여넣기를 할 경우 소스가 제대로 정렬되지 않아 지저분하게 복사되는 경우가 종종 있죠. 바쁜 개발 일정에 한줄한줄 소스를 수정한다는 것은 시간 낭비입니다. 이번 포스팅에서 단축키 한방으로 소스를 자동 정렬하는 방법에 대해 알아보겠습니다. 1. 정석적인 방법 onCreate 함수안에 두 줄의 코드를 일부러 정렬을 엉망으로 만들었습니다. 안드로이드 스튜디오 상단 메뉴바에서 Code- Reformat Code 메뉴를 누르거나 단축키 Ctl+Alt+L을 누르면 아래와 같이 자동정렬이 됩니다. 해당 방식은 전체 코드에 대해 자동 정렬이 실행되는데 만약 특정 코드 영역에 대해서만 자동 ..
디자인 패턴(Design Pattern) 중 싱글톤(Singleton) 패턴은 특정 클래스에 대한 인스턴스를 단 한 번만 Static 메모리 영역에 할당하고 해당 클래스에 대한 생성자를 여러 번 호출하더라도 최초에 생성된 객체를 반환하는 디자인 패턴입니다. 즉 애플리케이션의 특정 클래스에 대한 유일 객체를 보장하는 디자인 형태라고 볼 수 있습니다. 일반적으로 싱글톤 패턴이 적용된 클래스에 대한 new 연산을 수행하더라도 이미 한번 할당된 메모리 영역의 인스턴스를 사용하기 때문에 무분별한 new 연산으로 인한 메모리 낭비를 방지 할 수 있습니다. 안드로이드 스튜디오에서는 클래스 파일을 생성하는 시점에 자동으로 싱글톤 패턴이 적용된 클래스 형태로 파일을 생성해줍니다. public class MovieData..
안드로이드에서 추상 클래스나 인터페이스를 상속받게 되면 필수로 구현해야 하는 함수들이 있습니다. 안드로이드 스튜디오에서는 이러한 필수 재정의 함수들을 일일이 코드로 입력할 필요가 없습니다. 안드로이드 스튜디오에서는 상속받는 추상 클래스나 인터페이스로부터 반드시 재정의 해야 할 함수들에 대한 목록을 제공하고 사용자가 선택한 항목들에 대해서 자동으로 코드로 추가해주는 기능이 있습니다. 여기서 필수 재정의 함수말고도 상속받는 인터페이스나 추상클래스로부터 재정의가 가능한 함수들에 대해서도 자동으로 코드 입력이 가능합니다. 1. 필수 재정의 함수 (Override Function) 자동 코드 추가 ▼ Sample 클래스는 AsyncTask 라는 추상클래스를 상속받는 클래스입니다. 그런데 안드로이드 스튜디오에서 오..
getter/setter 함수는 자바 클래스의 정보 은닉의 특성을 고려한 방식으로 특정 클래스의 멤버 변수의 접근 제한자를 private로 지정하고 클래스 외부에서는 해당 멤버 변수에 접근하기 위해 setter(값 지정)와 getter(값 리턴) 메소드를 정의하여 제어합니다. public class Sample { private String data1; private int data2; private long data3; public String getData1() { return data1; } public int getData2() { return data2; } public long getData3() { return data3; } public void setData1(String data1) {..