목록전체 글 (163)
불로구
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VEQNh/btq3znLNnQv/mK9FUcWp7wiNQ5alkQ4gx1/img.png)
안드로이드의 4대 컴포넌트란?! 액티비티, 서비스, 콘텐트 제공자, 방송 수신자를 통해 총 4개의 컴포넌트가 있다. 컴포넌트들은 하나의 독립된 형태로 존재하며, 정해진 역할을 수행한다. 각 컴포넌트들은 Intent 객체를 통해 상호 통신을 한다. 모든 컴포넌트를 꼭 사용해야 하는것은 아니지만 액티비티는 필수 요소로 반드시 하나 이상 존재해야 한다. Activity 사용자가 애플리케이션과 상호작용하는 단일 화면 Intent를 통해 다른 애플리케이션의 택티비티를 호출가능 2개 이상의 액티비티를 동시에 Display 불가 1개 이상의 View or ViewGroup을 포함 Service 백그라운드에서 작업을 처리하기 위한 기능 백드라운드의 기능은 앱을 사용하며 파일을 다운로드하고, 노래를 트는 행위를 가능하게..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UpLRi/btq3AqnJcws/kk7wo5UYWGKMg4GshJgMCk/img.png)
인터페이스 분리 원칙 필요하지 않는 요소를 구현하도록 강요하거나 사용하지 않는 요소에 의존하도록 만들면 안된다. 어떤 클래스가 다른 클래스에 종속될 때에는 가능한 최소한의 인터페이스만 사용 인터페이스의 크기를 최소화 한 덩어리의 복잡한 인터페이스를 목적에 따라 구분하여 나눈다 ( 상속 , 위임을 통해) 기존 phone{ call() sms() alarm() } 변경 Call{ call() } Sms{ sms() } Alarm{ alarm() } 의존성 역전 원칙 상위 모듈이 하위 모듈에 종속성을 가져서는 안되며, 양쪽 모두 추상화에 의존해야 한다. 즉, 하위 레벨 모듈의 변경이 상위 레벨 모듈의 변경을 요구하는 구조적 문제에서 발생하는 위계르 끊는 것 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메시..
SOLID 원칙 소프트웨어를 설계함에 있어 이해하기 쉽고, 유연하며, 유지보수가 편하도록 도와주는 5가지 원칙 단일책임원칙, 개방폐쇄원칙, 리스코프치환원칙, 인터페이스분리원칙, 의존성역전원칙 단일 책임 원칙 ( SRT, Single Responsibility Principle ) 모든 클래스는 단 한가지의 책임을 부여받아, 수정할 이유가 단 한 가지여야 한다. 즉, 클래스에 속해있는 멤버들과 메소드는 모두 공통적으로 하나의 서비스를 위해 필요 적용 방법 각 책임을 각각의 개별 클래스로 분할 분할 후에도 비슷한 책임을 갖고 있다면 부모클래스로 추출 , 필드나 메소드를 옮길 수도 있다. 클래스 이름을 해당 클래스의 책임을 나타낼 수 있도록 작성 SRT 적용 전 class Car{ private String ..
객체지향이란? OOP(Object-Oriented Programming) 컴퓨터 프로그래밍 패러다임 중 하나 필요한 데이터를 추상화 행위를 가진 객체를 만들고, 그 객체들간의 상호작용을 통해 로직 구성을 하는 프로그래밍 방법 객체지향 프로그래밍의 장점? 코드 재사용 : 3rd party Library, 상속을 통해 확장하여 사용 가능! 유지보수 용이 : 수정해야 할 부분이 클래스 내부에 멤버 변수 or 메서드로 있기에 찾기 쉬움 대형 프로젝트 적합성 : 클래스단위로 모듈화 시켜서 개발할 수 있으므로 대형 프로젝트처럼 여러명이 개발하기 좋다 객체지향 프로그래밍의 단점? 처리속도가 상대적으로 느림 : JVM 객체가 많으면 용량이 커진다. 설계시 많은 시간과 노력 필요 객체지향 5가지 키워드 클래스+인스턴스 ..