일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 물리 메모리
- 디자인 패턴
- NestedScrollView
- GetX
- Android
- AAC
- 자이고트
- 리사이클러뷰
- 상태관리
- Kotlin
- 절대 주소
- http 역사
- http발전과정
- DiffUtil
- appcompatactivity
- AsyncListDiffer
- 뷰홀더
- viewModelScope
- 내부 단편화
- Dispatchers
- appcompatacitivity
- 운영체제
- apk 빌드 과정
- 프로세스
- 안드로이드
- recyclerview
- 리사이클러뷰풀
- flutter
- 플로이드워셜
- 데코레이터 패턴
- Today
- Total
목록Develop (25)
hong's android

Object 클래스 // Object // equals 메서드 public boolean equals(Object obj) { return (this == obj); } Object 클래스의 대표적인 메소드들 1. equals() : 참조 값을 비교한다. 2. hashcode() : 객체의 주소값을 해시값으로 변환하여 반환한다. 3. toString() String 클래스 String 클래스의 equals는 문자열의 값을 비교한다. Object 클래스를 상속받아서 위와 같이 equals를 오버라이딩 했기 때문이다. 두 객체가 같은 경우 값 비교를 하지않고 동일하다고 판단한다. 다른 경우 서로의 string값을 비교한다. // String.java // 자바 8 public int hashCode() { ..
상속과 위임 언제 사용해야 할까? 상속은 “is-a” 와 같이 포함 관계가 있는 다른 클래스로 대체가 되는 경우 위임은 포함관계는 아니지만 다른 클래스 객체를 사용해야하는 경우, 구성의 관계 “has-a” 상속에서의 문제점 class Animal { /* public void run() { System.out.println("달려달려~"); } */ // 메서드 이름을 run에서 dash로 바꿨다. public void dash() { System.out.println("달려달려~"); } } class Dog extends Animal { } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.run(..
java.lang.Object란 java.lang 패키지에는 프로그래밍을 위한 다양한 클래스들이 모여있고 이를 활용 할 수 있다. (다른 패키지와 다르게 import 구문 없이 사용 가능하다.) 그중에서 object는 클래스들의 가장 상위 클래스이고 프로그래밍을 위한 다양한 메소드들을 제공한다. 1. equals() 동일한 객체인지 판단한다. 기본적으로 == 연산자를 통해 객체의 동등함을 판단하는데 이때 객체의 주소값을 갖고 판단한다. 그렇기에 두 객체의 내용이 같다는것을 판단하기위해선 따로 equasl() 메소드를 오버라이드해서 사용해야한다. (Collection 프레임워크 몇몇 클래스는 객체의 동등성을 판단하기위해서 객체의 hashcode() -> equals() 메소드를 통해 확인하기 때문에 위 프..

Collection 이란? 목록성 데이터를 처리하는 자료구조 - java.util 패키지에 Collection은 속해있다. - 형태가 비슷한 여러개의 값들을 저장하고 관리하기 위해선 배열이 필요하다. 하지만 크기가 지정되어있지 않은경우엔 따로 배열의 크기를 필요에 따라 계속 늘려주는 작업을 해야한다. Collection 인터페이스는 가변 크기를 가진다. - 하위 인터페이스는 List,Set,Queue,Map이 있고 구현 클래스들은 아래와 같다. 자료구조 : 데이터들을 효율적으로 처리하기위해 만든 구조 특징 1. collection은 iterable인터페이스를 구현하기 때문에 데이터를 순차적으로 가져올 수 있다. Public inetrface Collection extends Iterable 2. List..
동시성 문제 멀티 스레드 환경에서 같은 자원을 사용할 때 예상했던 값과 다르게 결괏값을 가져오는 경우가 있다. 동시성 문제들의 종류는 가시성 문제와 원자성 문제가 있다. 1) 가시성 문제 캐시와 메모리의 불일치로 생기는 문제이다. 예를들어, 한 스레드가 데이터를 가져오는 캐시가 메모리와 동기화되어있지 않다면 다른 결과 값을 가질 수 있다. 2) 원자성 문제 원자성 문제는 cpu의 instruction을 수행하는 과정에서 다른 cpu의 스레드가 그 사이에 해당 값에 접근을해서 값을 바꾸게 되는것이다. 이렇게 되면 연산을 원자 단위로 나누지 못한다. 위 가시성 문제를 해결한다고 원자성 문제도 해결되지 않는다. 예를 들어 메모리가 동기화되어있다고 가정하고 A 스레드가 공유 자원 int value에 +1을 할 ..

제네릭 이란? 내부에서 타입을 정하지않고, 외부에서 지정, 클래스나 메소드에서 다양한 타입을 사용할 수 있도록 데이터 타입을 일반화한다. (자바 5부터 새롭게 추가) 제네릭이 없이 다양한 타입을 클래스 또는 메소드에서 사용할때 객체들의 최상위 클래스인 object로 타입 파라미터를 받는다. 클래스 외부에서 타입을 지정한 다음, 해당 객체의 값을 가져와서 사용한다. 이때 클래스 외부에서 객체의 값을 사용하기 위해 형 변환을 해야하는데 그대로 사용하거나 잘못된 형변환을 하게되면 런타임에 오류가 생길 수 있다. 제네릭으로 다양한 타입을 클래스 또는 메소드에서 사용할때 클래스 외부에서 동적으로 타입을 지정한다. 객체의 값을 사용해야할때 강제로 형변환을 할 필요없이 제네릭 타입으로 지정한 값을 사용할 수 있다. ..