목록분류 전체보기 (192)
안드로이드 개발자의 창고
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Bpvuq/btsd6sWrqqE/hKyGI5DhfjBwKJ7yY8lbEK/img.png)
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 동기 : 작업을 순차적으로 처리하는 것을 의미한다. 비동기 : 동시에 여러 작업을 처리하는 것을 의미한다 📖 Thread란? Thread : 자바에서 비동기 처리를 지원하기 위해 제공하는 클래스 동기적인 작업 다수를 비동기적으로 처리하게 된다. 오류가 발생할 가능성이 높은 작업의 경우 별도의 쓰레드로 운영하면 안정적으로 운영할 수 있다. 📖 예제 코드 Thread를 상속받은 클래스(TestClass1) // Thread를 상속받은 클래스 class TestClass1 extends Thread { public void run() { try { for(int i=0; i t2 > t3 순으로 처리된다. 💡 쓰레드 동기화 console 결과
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 📖 Interface란? 추상 메서드만 가지고 있는 요소로 인터페이스에 정의한 메서드는 추상 메서드이다. 인터페이스에 정의한 변수는 static final 변수이다. 자바에서 클래스는 하나의 클래스만 상속받을 수 있다. 여러 타입의 변수에 담을 수 있도록 사용하는 것이 Interface이다. 하나의 클래스는 다수의 Interface를 구현할 수 있다. 📖 예제 코드 interface TestInterface2 { public void testMethod2(); } interface TestInterface1 { int a1 = 100; public void testMethod1(); // 인터페이스에 static 메서드를 정의할 수 있다. pub..
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 📖 Abstract? 추상 메서드 : 코드 부분이 없는 미완성 메서드 추상 클래스 : 추상 메서드를 가지고 있는 클래스, class 앞에 abstract를 붙여 표시한다. 추상 클래스는 구현되지 않은 메서드를 가지고 있기 때문에 객체 생성이 불가능하다. 따라서, 추상 클래스를 상속받는 자식 클래스를 만들어 추상 메서드를 오버라이딩하여 사용한다. 📖 예제 코드 public class MainClass { public static void main(String[] args) { TestClass1 t1 = new TestClass1();
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 📖 중첩 클래스란? 클래스 안에 클래스를 만든 개념 클래스 내부의 클래스는 외부 클래스의 객체를 통해서 생성할 수 있다. 특정 클래스에 정의된 멤버를 자주 사용하는 경우 사용한다. 장점 : 내부 클래스에서 외부 클래스의 멤버를 사용하는 것이 자유롭다. 단점 : 내부 클래스의 객체를 생성하려면 반드시 외부 클래스의 객체를 생성해야 한다. ✔️ 일반 중첩 클래스 코드 및 해석 public class MainClass { public static void main(String[] args) { // 외부 클래스의 객체를 생성한다. OuterClass1 out1 = new OuterClass1(); OuterClass1.InnerClass1 in1 = ..
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 📖 Final이란? 더이상 변경할 수 없다는 의미를 가지고 있다. final 변수 final 변수 : 변수에 다른 값을 저장할 수 없다. final 변수는 변수를 선언한 이후에 값을 저장할 수 없다. 이에, 변수를 선언할 때 값을 저장해줘야 한다. 상수 역할을 할 변수를 정의할 때 사용한다. final 메서드 자식 클래스에서 overriding이 불가능하다 final 클래스 상속이 불가능하다. 무조건 객체를 생성해서 참조변수를 통해 접근할 수 있도록 하기 원할 경우 사용한다. 📖 예제 코드 public class MainClass { public static void main(String[] args) { TestClass1 t1 = new T..
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 📖 Static이란? 객체를 생성하지 않고도 사용하는 요소로써 클래스 이름을 통해 접근할 수 있다. 객체 참조 변수를 통해서도 사용이 가능하며 딱 하나의 변수만 생성된다. 프로그램 전체에서 딱 하나만 존재하는 값을 저장할 때 사용한다. 변수 : 프로그램이 시작되어 클래스들이 메모리에 올라갈 때 생성되는 변수 메서드 : static 변수나, 매개변수를 포함한 지역변수만 사용이 가능하다. static변수나 매개변수를 포함한 지역변수만 사용하는 메서드의 경우 static으로 정의하면 편하게 사용할 수 있다. 📖 Static을 사용한 클래스 class TestClass1 { int memberA = 100; // 멤버 변수 static int memb..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/brCjn4/btsd0tIjd2c/huaAD2R62FpkJKKnJbXnVk/img.png)
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 📖 캡슐화란? 변수에 대한 직접 접근을 막음으로써 데이터의 무결성을 보장할 수 있도록 개발하는 방식을 의미한다. 변수의 직접 접근을 막기 위해 private 접근 제한자를 붙여준다. 변수에 값을 저장하는 것을 객체 생성시 한 번만 허용하겠다면 생성자를 통해 할 수 있도록 제공한다. 변수에 값을 저장하는 것을 원하는 만큼 할 수 있도록 하게 해주겠다면 setter를 만들어 제공한다. 변수의 값을 가져다 사용할 수 있는 것을 할 수 있도록 하게 해주겠다면 getter를 만들어 제공한다. setter의 이름짓는 규칙 : set변수명 getter의 이름짓는 규칙 : get변수명, is변수명(boolean) 이클립스 자동 생성 : 상단 메뉴 > Sourc..
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 접근제한자란? 클래스에 선언한 변수나 메서드를 접근하지 못하도록 막아야 할 경우에 사용한다. 이는 캡슐화와도 관련이 있는 개념이다. 접근 제한자 사용 가능 여부 사용 가능한 접근 제한자 = O 사용 불가능한 접근 제한자 = X public protected default private 클래스 O X O X 생성자 O O O O 멤버 변수 O O O O 멤버 메서드 O O O O 지역 변수 X X X X public : 아무 제약없이 자유롭게 접근이 가능 protected : 패키지가 같으면 제한이 없고, 패키지가 다를 경우 상속 관계에서만 접근이 가능 default : 같은 패키지 내의 클래스만 접근 가능 private : 클래스 내에서만..
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT 부모 클래스가 가지고 있는 메서드를 자식 클래스에서 다시 구현한 것을 가르킨다. 메서드를 Overriding을 하고 부모 클래스의 메서드를 호출 하고자 할 때는 super 를 이용한다. 부모 클래스형 참조 변수를 통해 객체에 접근하면 부모 클래스의 영역에 접근을 하지만 호출하려는 메서드가 Overriding 된 경우에는 자식 클래스에 재정의한 메서드가 호출이 된다. 오버라이딩 조건 선언부가 같아야 한다. 접근 제어자를 좁은 범위로 변경할 수 없다. 부모 클래스의 메서드보다 많은 수의 예외를 처리할 수 없다. 예제 코드 public class MainClass { public static void main(String[] args) { SubCla..