목차
[TIL] Day 09 — Java 생성자/오버라이딩/다형성, CSS float 원리
날짜: 2025-10-30
기술 스택: Java OOP 오버라이딩 다형성 CSS float
부트캠프: 풀스택 개발자 부트캠프 2주차
오버로딩 vs 오버라이딩
| 구분 | 오버로딩(Overloading) | 오버라이딩(Overriding) |
|---|---|---|
| 정의 | 같은 이름, 다른 매개변수 | 부모 메서드를 자식이 재정의 |
| 관계 | 같은 클래스 내 | 상속 관계에서 |
| 반환형 | 매개변수가 다를 때만 다를 수 있음 (반환형만으로는 구별 불가) | 같아야 함 |
| 언제 결정 | 컴파일 시 (static binding) | 실행 시 (dynamic binding) |
// 오버로딩
class MathUtil {
int add(int a, int b) { return a + b; }
double add(double a, double b) { return a + b; } // 매개변수 타입 다름
}
// 오버라이딩
class Animal {
void sound() { System.out.println("소리"); }
}
class Dog extends Animal {
@Override
void sound() { System.out.println("멍멍"); } // 재정의
}
생성자 심화
class Person {
String name;
int age;
// this() — 다른 생성자 호출 (첫 줄에 위치해야 함)
Person() {
this("Unknown", 0);
}
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
가변인자 (Varargs)
void printAll(String... args) { // 매개변수 마지막에만 선언 가능
for (String s : args) {
System.out.println(s);
}
}
printAll("a");
printAll("a", "b", "c"); // 개수 자유
printf 서식 문자
double pi = 3.14159;
System.out.printf("%f%n", pi); // 3.141590 (기본 6자리)
System.out.printf("%.2f%n", pi); // 3.14 (소수 2자리)
System.out.printf("%d %s%n", 42, "hello");
HTML 시맨틱 태그
<header> 로고/제목/네비게이션 </header>
<nav> 네비게이션 링크 </nav>
<main> 주요 콘텐츠 </main>
<section> 주제별 문단 </section>
<article> 독립적 콘텐츠 단위 </article>
<aside> 사이드바 </aside>
<footer> 푸터 정보 </footer>
CSS float vs margin: 0 auto
/* float — 텍스트가 이미지 주위를 감싸는 레이아웃 등 */
.img { float: left; }
/* margin: 0 auto — 블록 요소 가로 중앙 정렬 */
.container { width: 800px; margin: 0 auto; }
float는 요소를 문서 흐름에서 분리 →margin: 0 auto와 동시 사용 불가- 중앙 정렬이 필요하면
float대신flexbox또는grid사용
트러블슈팅
this() 위치 오류
this()는 생성자 첫 줄에만 사용 가능. 둘째 줄 이후로 사용 시 컴파일 오류
float clearfix
.clearfix::after {
content: "";
display: block;
clear: both;
}
float요소가 있을 때 부모의 높이가 무너지는 문제 → clearfix로 해결
더 알아볼 것
- 재귀호출(Recursion) 실습: 팩토리얼, 피보나치, 하노이 탑
- CSS flexbox로 float 대체 레이아웃 구현
- 시맨틱 태그 vs div 태그 SEO 차이
-
@Override애노테이션 필요성 이유 - 다형성(Polymorphism)이 실무에서 사용되는 사례
'⏳ Time Log > 1. One Day (Daily · TIL)' 카테고리의 다른 글
| [TIL] Day 11 — Java 클래스 구조 심화 + 다형성 개념 (0) | 2026.02.18 |
|---|---|
| [TIL] Day 10 — Java 상속 심화 + 싱글턴 패턴 (0) | 2026.02.18 |
| [TIL] Day 08 — Java 접근 제어자와 캡슐화, static (0) | 2026.02.18 |
| [TIL] Day 07 — Java 클래스 기초 및 CSS 박스모델/효과 (1) | 2026.02.18 |