'programming' 카테고리의 글 목록 (2 Page) :: 놓치기 쉬운 정보 저장
728x90
반응형
SMALL

제네릭(Generic) 타입(Type)

개념과 필요성

- 어떤 자료를 받을지 명시가 되어 있지 않아 주의하지 않으면 실수가 발생할 수밖에 없다.

- 클래스를 매번 생성해야 하는 문제점에 대한 해결책

- 클래스나 인터페이스에 적용 가능

- 미리 정해둘 수 없는 참조 타입을 비워두는 기법(제네릭 선언 기호 : <>, 타입 매개변수 : T) - 비워두고 싶은 부분 표시하기

- 일반적인 이름 규칙 : 대문자로 알파벳 하나만 쓰기

- 타입 인자를 받아서 쓴다라는 특징.(단, 참조 자료형이어야 함)

- 자바에서는 기본 자료형의 객체화 타입인 '래퍼 클래스' 라는 것을 지원한다.

   * 래퍼 클래스 : 기본 자료형 값을 보유한 포장지를 만드는 클래스, 모든 기본 자료형은 대응하는 래퍼 클래스가 존재한다.

   * 래퍼 클래스는 좋으나, 기본 자료형보다 훨씬 큰 메모리 크기를 사용해야 하기에 꼭 필요하지 않다면 권장되지는 않음.

 

제네릭 필요성

 

제네릭 필요성(2)
제네릭 사용 예
다중 매개변수 기반 제네릭 클래스 사용 예

 

레퍼 클래스 적용 예(2)
래퍼 클래스(매개변수화 타입) 활용해보기

728x90
반응형
LIST
728x90
반응형
SMALL

상단 메뉴바 정렬을 위해서 중간에 공백이 발생하여 이를 제거하기 위해서 여러 가지 방법이 있는데,

그중에서 가장 효율적인 방법에 대해서 작성하였습니다.

 

개념 : float 

* 요소를 왼쪽이나 오른쪽으로 밉니다.

float: none; → 자연스러움 유지

float: left; → 왼쪽으로 밀기

float: right; → 오른쪽으로 밀기

 

** 위 태그를 사용시 반드시 적용해야 함

. row::after {
  content:"";
  clear:both;
  display:block;
}

See the Pen Untitled by yeomboyeon (@yeomboyeon) on CodePen.

728x90
반응형
LIST
728x90
반응형
SMALL

Thread 개념에 대해서 알아보겠습니다.

 

프로그램(program) : 실행 가능한 형태의 소프트웨어

프로세스(process) : 실행 중인 프로그램

스레드(Thread) : 프로세스의 작업 단위 - 운영체제가 프로그램을 관리하는 방식으로 자바로 만든 프로그램에서도 스레드(Thread)가 만들어지고 동작할 수 있다. (CPU가 동시에 둘 이상의 스레드를 돌리진 않는다. 다만, 눈에 보이지 않을 정도로 빠르게 움직인다는 거..)

스레드(Thread)는 동시성과 병렬성을 가지고 수행하기 때문에 사용자는 동시에 동작하는 것으로 인식한다.

개념
프로세스 구조
스레드 구조
멀티 스레드의 필요성

스레드(Thread)의 실습 예제(1)

 

* 둘 이상의 스레드를 생성해서 어떤 것이 먼저 처리되는지에 대해서 실습

  결론 : 먼저 실행한 코드가 먼저 실행, 그러나 먼저 끝나는 것도 아니다.

스레드(Thread)의 실습 예제(1)

 

스레드(Thread)의 실습 예제(2)

 

* 우선순위(setPriority)를 활용하면 우선순위가 높아지나, 운영체제나 사용 시스템에 따라 결과는 다를 수 있으며, 우선순위가 높다 해도 무조건 선점하는 건 아니라는 점.

스레드(Thread)의 실습 예제(2)

스레드(Thread)의 실습 예제(3)

* 순차적인 동작을 처리할 때 싱크가 맞지 않는 부분을 수정해보기

결론 : 정상적으로 처리되며, 동기화(synchronized) 함수를 활용해서 메서드 간의 동기화를 통해서 다른 메서드의 동작 때 침범하지 않고 기다려주도록 구현

스레드(Thread)의 실습 예제(3)

스레드(Thread)의 실습 예제(4)

* 스레드 풀(Executors) 생성 : 스레드를 담아두는 집합체, 스레드가 많으면 이론적으로 cpu 메모리가 부하가 날 수도 있다는 이론에 따라 cpu가 부담을 느끼지 않도록 일처리를 해주는 함수

스레드(Thread)의 실습 예제(4)
스레드(Thread)의 실습 예제(4)

 

728x90
반응형
LIST
728x90
반응형
SMALL

풀 다운 메뉴와 토글 사이드바를 종합한 실습(5분 안에 완성하기)

 

주요 사용 태그

  • position:fixed; → 화면이 스크롤해도 끊김 없이 계속 나옴
  • transition:태그명 1s; → 사이드바 나오고 사라지는 효과(시간대별로 느리게 빠르게)
  • 태그명:hover  → 마우스 올리면 나오는는 효과
  • display:inline-block; → 높이, 너비를 지정하지 않는 한, 최소한으로 줄어들게 하기, 가능한 최대한 한줄에 쓰기
  • white-space:nowrap; → 줄바꿈 금지
  • a:not(:only-child)::after  → 새로운 막내 자식 추가.(after은 맨 뒤에 표시, only-child 는 자식이 있는 부모 태그는 모두 표시하나 not이 표시되어 반대로 표시)
  • content: "[+]"; → after에 이어서 작성해주어야 해당 태그가 막내 자식이 추가됨.
  • border:2px solid blue; → 테두리 효과

** 역시 반복 숙달하면서 익히는게 제 맛이네요.

See the Pen Untitled by yeomboyeon (@yeomboyeon) on CodePen.

728x90
반응형
LIST
728x90
반응형
SMALL

interface, 인터페이스에 대해서 알아보겠습니다.

 

개념 : 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것입니다. 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용한다.

인터페이스 정의
인터페이스 상속 설명
인터페이스 상속 설명(1)
인터페이스 상속 설명(2)
인터페이스 객체 생성
인터페이스 필요성
인터페이스 필요성(1)
인터페이스 필요성(2)
인터페이스 필요성(3)
디폴트 메서드
디폴트 메서드(1)
디폴트 메서드(2)
정적 메서드
코드 사용 예

728x90
반응형
LIST

+ Recent posts