별의 공부 블로그 🧑🏻‍💻
728x90
728x170

1. 캡슐화

- 하나의 객체가 그 안에서 모든 기능을 수행하도록 하는 것을 말함.

- 캡슐이나 풍선처럼 막에 싸여 있다면 모든 기능을 다른 객체가 건드릴 수 없으며 명령만 내릴 수 있음.

 

2. 인터페이스(Interface)

- 인터페이스란 클래스에 접근할 수 있는 방법이 무엇인지를 정의한 것.

- 사람들을 보호하기 위해 만든 옛날의 성을 생각해보면, 성을 '클래스'라고 하고, 성벽과 성문으로 성을 둘러싸는 것을 '인터페이스'라고 생각할 수 있음.

- 즉, 인터페이스를 통해 사람들이 성을 드나들 수 있음.

 

3. '구현한다(Implement)'의 의미

- 구현한다는 것은 메서드를 위해 만든 중괄호 안에 실행할 수 있는 기능을 넣는다는 의미임.

- 인터페이스에서는 껍데기만 있고 실행될 코드가 없던 것에 직접 실행 가능한 기능을 넣어준다는 의미가 됨.

 

4. throw 키워드

- 예외 클래스를 하나 만들면 예외 상황이 발생할 때 그 클래스로 만든 예외 객체를 throw라는 키워드를 이용해 던져줄 수 있음.

- 메서드를 선언할 때 같이 들어가는 throws 키워드는 해당 메서드에서 예외를 던져줄 수 있다는 의미임.

 

5. Exception 만들어 사용하기

1) Exception을 상속하는 새로운 객체 만들기

2) 인터페이스에서 구현하지 못한 메서드에 throws 키워드와 함께 넣어주기

3) 인터페이스를 구현하는 클래스에서 throws 키워드와 함께 넣어주기

4) 예외 상황이 발생하는 코드에서 throw 키워드와 함께 예외 객체 던져주기

5) 메서드를 호출하는 쪽에서는 try-catch 문으로 예외 처리하기

 

6. abstract 키워드

- 클래스 앞에 abstract 키워드가 붙으면 '추상 클래스'라고 부름.

- 추상 클래스는 abstract 키워드가 붙어 있는 메서드를 하나 이상 포함하고 있는 클래스를 말함.

 

7. 추상 클래스의 특징

- 아직 모든 메서드가 구현되지 않은 클래스임.

- 클래스 앞에 abstract 키워드를 붙임.

- 구현되지 않은 메서드 앞에는 abstract 키워드를 붙임.

- 추상 클래스는 미완성된 클래스므로 실제 객체로 만들 수 없음.

 

8. 어댑터(Adapter)

- 메서드들 중에서 필요한 것만 구현할 수 있도록 걸러주는 역할을 하는 클래스를 '어댑터'라는 이름으로 부르기도 함.

- 즉, 어댑터는 클래스가 만들어야 하는 기능 중 일부를 대신 만들어주는 역할을 함.

 

9. 디자인 패턴(Design Pattern)이란?

- 코드를 입력할 때 그 형태가 비슷한 경우들을 모두 모아서 이름을 붙인 것.

 

10. 내부 클래스(Inner Class)란?

- 코드를 쉽게 만들기 위해 클래스 안에 클래스를 넣은 것.

 

11. 클래스 간에 컨텍스트 객체의 전달

- 컨텍스트 객체는 안드로이드에서 화면을 구성하는 뷰를 다루거나 안드로이드에서 제공하는 기능을 사용할 때 상당히 자주 사용하는 객체임.

- 새로운 클래스를 만들 때는 클래스 안에 이 컨텍스트 객체가 없으므로 생성자의 파라미터로 전달받아 변수로 포함하고 있도록 하는 방법을 사용하는 경우가 많음.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class MyAdapter extends BaseAdapter {
 
    public String[] names = {"소""티""걸""아""에"};
 
    Context mContext;
 
    public MyAdapter(Context context) {
        mContext = context;
    }
 
    @Override
    public int getCount() {
        return names.length;
    }
 
    @Override
    public Object getItem(int position) {
        return names[position];
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        TextView view = new TextView(mContext);
        view.setText(names[position]);
        view.setTextColor(Color.BLUE);
        view.setTextSize(30.0f);
 
        return view;
    }
}
cs

 

내용 출처 : 자바+안드로이드를 다루는 기술(정재곤 지음, 길벗)

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖