본문 바로가기
My Image
반응형

프로그래밍/Java36

[Java] enum 이란? Enum class란? 우리가 흔히 상수를 정의할 때 final static string 과 같은 방식으로 상수를 정의를합니다. 하지만 이렇게 상수를 정의해서 코딩하는 경우 다양한 문제가 발생됩니다. 따라서 이러한 문제점들을 보완하기 위해 자바 1.5버전부터 새롭게 추가된 것이 바로 "Enum" 입니다. Enum은 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미합니다. 기존에 상수를 정의하는 방법이였던 final static string 과 같이 문자열이나 숫자들을 나타내는 기본자료형의 값을 enum을 이용해서 같은 효과를 낼 수 있습니다. Enum의 장점 Enum을 사용하면서 우리가 얻을 수 있는 이점은 다음과 같습니다. 1. 코드가 단순해지며, 가독성이 좋습니다. 2. 인스턴스 생성과 상속을 .. 2017. 6. 27.
[Java] 멀티스레드 개념 이번 시간에는 "멀티스레드 개념"을 알아보자 우선 프로세스와 스레드를 이해하고 넘어가야한다. 운영체제는 실행 중인 하나의 어플리케이션을 "프로세스"라고 부른다. 사용자가 어플리케이션을 실행하면 운영체제로부터 필요한 메모리를 할당맏아 코드를 실행한다. 이것이 바로 프로세스다. 또 하나의 어플리케이션은 2개이상의 프로세스를 가질 수 있다. 예를 들어 chrome이라는 어플리케이션을 더블클릭을 2번하면, chrome이라는 exe 프로세스가 2개 생긴다. 또 "멀티태스킹"이란 두가지 이상의 일을 동시에 처리하는 것을 말한다. (결국 멀티스레드는 멀티태스킹을 하기 위함이다!) 운영체제에서 멀티태스킹을 지원하기 위해 CPU및 메모리자원을 각 프로세스에서 적절히 할당시키고 병렬 실행을 시킨다. 예를 들어 노래를 들으.. 2017. 6. 27.
[Java] HashTable, Hashmap, ConCurrentHashMap 차이 HashTable, HashMap, conCurrentHashMap 차이 우선 아래 글을 쭈욱 읽으면 끝난다....나보다 정말 잘 정리해논 글들이기 때문에.... *퍼온 글Hashtable 의 모든 Data 변경 매소드는 syncronized 로 선언되어있습니다.즉 매소드 호출 전 쓰레드간 동기화 락을 통해 멀티 쓰레드 환경에서 data의 무결성을 보장해줍니다. 반대로 HashMap 은 그런 선언이 없기 때문에 멀티 쓰레드에서 여러 쓰레드가 동시에 객체의data 를 조작하는 경우 data가 깨져버리고 심각한 오류가 발생할 수 있습니다. 다만 이 동기화 락이 매우 느린 동작이기때문에 Hashtable 보다 HashMap 이 훨씬 빠릅니다.Map 객체가 단일 쓰레드에서만 쓰일때는 HashMap을 사용해야합니.. 2017. 6. 18.
[Java] 객체지향프로그래밍 (OOP)란? 자바프로그래밍하면 객체지향프로그래밍 OOP(Object Oriented Programming)이라 해도 무방하다. 객체지향프로그래밍의 특성은으로 크게 캡슐화, 추상화, 다형성, 상속성,정도는 명확하게 알고있어야한다. OOP하면 자동으로 4가지(캡슐화,추상화,다형성,상속성)가 떠올라야 한다. 1) 캡슐화 (Encapsulation) 캡슐화란 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수나 메소드를 하나로 묶는 것을 의미한다. 따라서 클래스를 우리가 만들 때 훗날 이클래스에서 만들어진 객체가 특정한 목적을 가지고 사용해야할 변수와 그 변수를 가지고 특정한 액션 즉 메서드 또는 함수를 관련성 있게 클래스에 구성해야한다. 예를 들자면, 은행이라는 클래스는 잔고라는 변수가 있고 그 잔고를 조회하거.. 2017. 6. 12.
반응형