☕ Java 알고리즘 및 클래스 기초
1. 랜덤 데이터 처리 및 정렬
- 주요 실습: 랜덤값 10개 추출 후 최소값, 최대값, 합계, 평균 산출 및 정렬
- 배열 정렬 메서드: java.util.Arrays.sort(배열명) 활용
- 알고리즘 구조:
- 버블 정렬(Bubble Sort): 인접한 두 원소를 비교하며 큰 값을 뒤로 보내는 방식
- 삽입 정렬(Insertion Sort): 정렬된 부분에 새로운 원소를 적절한 위치에 삽입하는 방식
2. 클래스(Class)의 이해
- 정의: 객체를 만들기 위한 설계도
- 구성 요소:
- 필드(Field): 객체의 상태 정보를 저장하는 변수 (멤버 변수)
- 메서드(Method): 객체의 동작을 정의하는 함수 (멤버 함수)
- 생성자(Constructor): 객체 생성 시 초기화를 담당 (클래스명과 동일)
- 객체(Object/Instance): 설계도(클래스)를 바탕으로 메모리에 실제 생성된 결과물
| 구분 | 클래스 (Class) | 객체 (Instance) |
| 개념 | 설계도, 틀, 추상적 | 실체, 제품, 구체적 |
| 위치 | 코드 영역 | 힙(Heap) 메모리 영역 |
| 특징 | 필드와 메서드 정의 | 각 객체마다 독립적인 상태 유지 |
🎨 CSS 박스 모델 및 선택자 활용
1. CSS 박스 모델 (Box Model)
- Content: 실제 내용(텍스트, 이미지)이 표시되는 영역
- Padding: 콘텐츠와 테두리(Border) 사이의 내부 여백
- Border: 요소의 테두리 선
- Margin: 요소와 외부 요소 사이의 간격 (투명 영역)
2. 스타일 적용 방식 및 우선순위
- 방식: 외부 파일(.css) > 내부 스타일(<style>) > 인라인 스타일(style="")
- 선택자 점수: 인라인(1000) > ID(100) > Class/가상 클래스(10) > Tag(1)
3. 사용자 동작 가상 클래스 (Pseudo-classes)
- 순서 필수: :link > :visited > :hover > :active
- 주요 속성:
- :hover: 마우스 커서를 올렸을 때 (opacity, transition 등 활용)
- :focus: 입력 폼 등에 커서가 위치했을 때
- transition: 스타일 변경 시 애니메이션 효과 부여 (ease-in-out 등)
🛠️ 실습 메모 및 팁
✅ Java 꿀팁
- Arrays.toString(배열): 배열의 내용을 [1, 2, 3] 형태로 한눈에 출력할 때 유용
- void 키워드: 메서드가 값을 반환하지 않을 때 사용 (반환값이 있다면 데이터 타입 명시 후 return 필수)
- 중복 없는 난수: 배열에 값을 넣을 때마다 이전 값들과 비교하여 중복 시 인덱스를 감소(i--)시켜 재추출
✅ CSS 꿀팁
- border: 0 vs none:
- 0은 테두리 두께를 없애는 것, none은 테두리 스타일 자체를 제거하는 것 (결과는 비슷하나 원리가 다름)
- cursor 속성: pointer(손가락), move(십자 화살표), zoom-in 등 사용자 경험 향상에 활용
- overflow: hidden: 박스 크기를 벗어나는 자식 요소를 숨길 때 사용
'⏳ Time Log > 1. One Day (Daily · TIL)' 카테고리의 다른 글
| Day 9 (10/30) - Java 상속 및 오버라이딩 (0) | 2026.02.18 |
|---|---|
| Day 8 (10/29) - Java 클래스 기초 및 캡슐화 (0) | 2026.02.18 |
| Day 6 (10/27) - Java 클래스 활용 (0) | 2026.02.18 |
| Day 5 (10/24) - Java 제어문 및 코드 복기 (0) | 2026.02.18 |
| Day 4 (10/23) - Java 연산자 및 HTML 심화 (0) | 2026.02.18 |