인프런/웹개발 코스 [JAVA 개발언어](15)
-
싱글톤 패턴
싱글톤 패턴 애플리케이션이 시작될 때 어떤 클래스가 최초 한 번만메모리를 할당하고(Static) 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴입니다. 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환하는. 싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인 패턴입니다. public class Test01 { //Instance private static Test01 instance = new Test01(); //private construct private Test01() {} public static Test01 getInstance() { return instance; } } 위 코드에서는 instance라는 전역..
2020.04.28 -
스레드
스레드 스레드는 프로세스내에서 실행되는 세부 작업 단위입니다. 프로세스가 하나 이상의 스레드를 사용한다면 멀티 스레드라고 부르게 됩니다. Thread를 만드는 방법은 Thread 클래스를 상속받는 방법과 Runnable인터페이스를 구현하는 방법이 있습니다. 프로세스: 운영체제에서 실행되는 하나의 프로그램 단위이다 (ex. 크롬, 한글, 엑셀) 스레드: 프로세스 내에서 실행되는 세부 작업 단위 동작하고 있는 프로그램을 프로세스(Process)라고 합니다. 보통 한 개의 프로세스는 한 가지의 일을 하지만, 이 스레드를 이용하면 한 프로세스 내에서 두 가지 또는 그 이상의 일을 동시에 할 수 있게 됩니다. Thread 스레드는 가장 간단하게 다음과 같이 만들 수 있습니다. public class Test01 ..
2020.04.28 -
stream
스트림(Stream) 자바 8에서 추가한 스트림은 람다식을 활용할 수 있는 기술 중 하나입니다 자바 8 이전에는 배열 또는 컬랙션 인스턴스를 다루는 방법은 for 또는 foreach은 돌리면서 하나씩 꺼내서 다루는 방법이었습니다 간단한 경우라면 상관이 없지만 로직이 복잡해질수록 코드의 양이 많아져 여러 로직이 섞이게 되고 메서드를 나눌경우 루프를 여러 번 도는 경우가 발생합니다. 스트림은 데이터의 흐름입니다 배열또는 컬렉션 인스턴스에 함수 여러 개를 조합하여 원하는 결과를 필터링하고 가공된 결과를 얻을 수 있습니다 또한 람다식을 이용하여 코드의 양을 줄이고 간결하게 표현할 수 있습니다 즉 배열과 컬렉션을 함수형으로 처리할 수 있습니다. 또 하나의 장점은 간단하게 병렬처리가 가능하다는 점과 하나의 작업을 ..
2020.04.28 -
Collection
컬렉션 프레임워크(Java Collection Framework(JCF)) 컬렉션 이란 사전적 의미로 요소를 수집해서 저장하는 것을 의미합니다. 자바 컬렉션은 객체를 수집해서 저장하는 역할을 하며 자바 컬렉션 프레임워크는 몇 가지 인터페이스를 통해서 다양한 컬렉션 클래스를 이용할 수 있도록 할 수 있으며. 컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map이 있습니다. 이 인터페이스들은 컬렉션을 사용하는 방법을 정의하는 것인데 다음은 인터페이스로 사용 가능한 컬렉션 클래스를 보여줍니다. 위의 사진을 보면 List와 Set은 객체 추가,삭제 검색하는 방법에 많은 공통점이 있기 때문에 인터베이스들의 공통된 메소들만 모아 Collection인터 페이스로 정의해 두고 있습니다 Map은 키와 같은 ..
2020.04.28 -
열거형
열거형 열거형 이란 enum 키워드를 사용하여 정의하며 열거, 목록을 뜻하는 enumeration에서 따왔습니다. enum 열거형 이름열거형은 정의만 해서는 사용을 할 수가 없습니다. 따라서 열거형도 변수로 선언해서 사용합니다. 열거형에는 몇 가지 제약이 존재합니다. 다른 클래스를 상속받을 수 없으며, 객체의 생성하거나 변경이 불가능하고 값의 재할당이 불가와 같은 제약사항이 존재하며 보통 메소드는 생성하지 않습니다. 추가로 열거형을 사용할 때 멤버 변수에 public, static 같은 키워드가 붙는 것은 동일합니다 그리고 사용할 상수는 대문자로 해주는 것이 원칙이며 모델 타입을 기술하거나 변하지 않는 요일 같은 것을 넣을 때 사용합니다. 열거형을 사용함으로써의 장점입니다 문자열과 비교해 IDE의 적극적..
2020.04.27 -
내부 클래스
내부 클래스 내부 클래스란 클래스 내에 선언된 클래스입니다. 여기서 클래스에 다른 클래스를 선언하는 이유는 두 클래스가 서로 긴밀한 관계에 있기 때문입니다. 그렇기에 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있고 코드의 복잡성을 줄여줍니다. //외부 클래스 Class A{ // ... //내부 클래스 Class b{ // ... } } 위의 코드에서 B는 A의 내부 클래스가 되고 A는 B의 바깥에 있는 외부클래스가 됩니다 이때 내부 클래스인 B는 외부 클래스인 A를 제외하고는 다른 클래스에서 사용하지 않는 것이 좋습니다.(외부 클래스가 아닌 다른 클래스에서 내부 클래스에 접근해야 한다면 내부 클래스로 선언해서는 안 되는 클래스를 내부 클래스에 선언한 것과 같기때문) 내부 클래스의 종류와 특..
2020.04.27