본문 바로가기
My Image
반응형

분류 전체보기228

[Design_Pattern] Singleton(싱글톤)의 고도화 안녕하세요. 지난 시간에 안드로이드버전으로 간단한 싱글톤(Singleton)을 배워봤는데, 이번시간은 간단한 싱글톤(Singleton)이 아닌 여러 상황을 고려하여 고도화된 싱글톤(Singleton)을 알아볼까 합니다. 하나하나 음미하며 공부해봅시다! 1. Eager initialization (이른 초기화 방식) 먼저 Singleton의 가장 기본적인 Eager initialization 방식입니다. 먼저 클래스 내에 전역변수로 instance 변수를 생성하고 private static을 사용하여 인스턴스화에 상관없이 접근이 가능하면서 동시에 private 접근 제어 키워드를 사용해 Eager initialization.instance 로 바로 접근 할 수 없도록 합니다. 또 생성자에도 private .. 2017. 7. 27.
[Java] Enum의 사용법 안녕하세요. 지난 시간엔 EnumClass가 무엇이고 어떤 장점들이 있는지 알아보았습니다. 2017/06/27 - [Java] - [Java] enum 이란? (enum 개념익히기) 이번 시간은 Enum 사용방법을 더 알아보면서 Enum에 대한 이해를 심화시켜보겠습니다. 지난 시간 공부했던 Enum에 대해서 잠시 정리하자면, 1. 클래스처럼 보이게 하는 상수 2. 서로 관련있는 상수들끼리 모아 상수들을 대표할 수 있는 이름으로 타입을 정의하는 것 3. Enum 클래스 형을 기반으로 한 클래스형 선언 정도로 요약할 수 있습니다. 1. Enum을 이용한 열거형 선언하기 EnumClass는 다른 클래스와 마찬가지로 별도의 java파일, 클래스 안, 클래스 밖 선언 가능 1) 별도의 .java 선언 DevTyp.. 2017. 7. 27.
[Android] android 마시멜로우 이상 버전 권한체크 이번시간은 안드로이드 마시멜로우 이상버전에서 안드로이드 시스템권한 요청 및 체크하는 방법을 알아보도록 하겠다. 실제 실무에 썼던 코드 초창기 버전인데 손봐야할 것이 많다;; 안드로이드 - Marshmallow 안드로이드 버전은 매번 새롭게 출시되는데 마시멜로우 버전부터 사용자에게 앱이 이러저러한 권한을 사용하려한다고 알려줘야하고그 권한을 사용자가 허락해야지만 정상적으로 앱이 안드로이드 시스템쪽 파일쓰기/읽기/위치정보 등과 기능을 수행할 수 있는 권한을 행사할 수있다. 따라서 반드시 왠만한 앱들이라면 권한을 허락받아야 하는 기능이 있기때문에 마시멜로우 이상버전에 안드로이드 폰에서 앱을 설치하면 반드시 처음 권한을 허락하겠냐고 물어보는 팝업창이 뜬다. 나는 최초 구동되는 Activtiy에 아래와 같은 코드를.. 2017. 7. 24.
[Java] java synchronized 동기화 이번 시간은 지난번 멀티스레드에 이어서 스레드간 동기화 방법인 synchronized 키워드에 대해서 알아보겠습니다. 멀티스레드를 잘 사용하면 프로그램적으로 좋은 성능을 낼 수 있지만, 멀티스레드 환경에서 반드시 고려해야할 점인 스레드간 동기화라는 문제는 꼭 해결해야합니다. 예를 들어 스레드간 서로 공유하고 수정할 수 있는 data가 있는데 스레드간 동기화가 되지 않은 상태에서 멀티스레드 프로그램을 돌리면, data의 안정성과 신뢰성을 보장할 수 없습니다. 따라서 data의 thread-safe 를 하기 위해 자바에서는 synchronized 키워드를 제공해 스레드간 동기화를 시켜 data의 thread-safe를 가능케합니다. 자바에서 지원하느 Synchronized 키워드는 여러개의 스레드가 한개의 .. 2017. 7. 22.
반응형