일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 코테
- OS
- 알고리즘
- 스프링MVC
- 정처기
- 브루트 포스
- 검증
- 쿼리dsl
- 코딩테스트
- 자료구조
- 면접
- 백준
- 객체지향프로그래밍
- 스프링
- 웹개발
- Java
- 스프링 MVC
- 네트워크
- ModelAttribute
- JPA
- db
- 반복문
- 프로그래머스
- 자바
- 메서드
- 운영체제
- Bean Validation
- programmers
- 스파르타코딩
- 자바의 정석
- Today
- Total
목록Java (14)
개발일지

💡JVM이란? 스택 기반의 가상 머신으로, 자바 애플리케이션을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행하는 것이다. JAVA와 OS 사이의 중개자 역할을 하며, JAVA가 OS에 구애받지 않고 재사용 가능하게 해준다. 메모리 관리, Garbage Collection을 수행하고, 자바 바이트 코드를 실행할 수 있는 주체이다. 🔑 키워드 스택 기반, 중개자 역할, 메모리 관리, GC를 통한 자원관리, 자바 바이트 코드 실행 주체 JVM을 알아야 하는 이유는 무엇인가? 한정된 메모리를 효율적으로 사용하여 최고의 성능을 내기 위해서이다. 동일한 기능의 프로그램이더라도, 메모리 관리에 따라 성능이 좌우되기 때문에 JVM을 통해 메모리를 효율적으로 사용하여 최고의 성능을 낼 수 있다. 🔑 키워드 한정된..
💡 추상클래스 추상 클래스는 단일 상속만 가능하고, 상속을 통해 기능을 이용하고 확장시킨다. 일반 변수와 일반 메소드를 쓸 수 있고, 아직 구현하지 않는 메소드는 추상 메서드로 내버려둘 수 있다. 추상클래스는 기존의 클래스에서 공통된 부분을 추상화하여 상속하는 클래스에게 구현을 강제화한다. 메소드의 동작은 구현하는 자식 클래스로 위임한다. 💡 인터페이스 인터페이스는 다중 구현이 가능하고, 추상 메소드와 상수만을 가진다. 구현 객체의 같은 동작을 보장하기 위해 사용한다. Java 8부터 default 메소드와 static 메소드가 추가되었다. default 키워드가 붙은 메소드는 구현할 수 있으며(일반 메소드처럼), 자식 클래스에서는 이를 오버라이딩할 수 있다. 인터페이스에 static 메소드를 선언 가능..
목차 💡 추상클래스의 정의 추상 메서드는 메서드의 본체가 완성되지 않은 미완성 메서드를 말한다. 메서드를 정의하는 중괄호 자체가 없으며, 중괄호가 없기 때문에 명령어의 끝을 알리는 세미콜론으로 끝나야 한다. abstract 리턴타입 메서드명(입력매개변수); abstract void abc(); 추상 메서드를 1개 이상 포함하고 있는 클래스는 반드시 추상 클래스로만 정의돼야 한다. 일반적으로 추상 클래스는 메서드의 기능이 정의돼 있지 않은 미완성 메서드가 1개 이상 있다는 의미다. 추상 클래스의 형식은 다음과 같다. abstract class 클래스명 {} abstract class A { abstract void abc(); void bcd(){ // ... } } 💡 추상 클래스의 특징 추상 클래스는 ..
자바의 모든 클래스는 Objcet 클래스를 상속받는다. 아무런 클래스로 상속하지 않으면 자동으로 extends Object를 삽입해 Object 클래스를 상속한다. 💡Object 클래스의 주요 메서드 반환타입 메서드명 주요 내용 String toString() - Object 객체의 정보를 문자열로 출력 - 일반적으로 오버라이딩해서 사용 - 출력 결과 : 패키지.클래스명@해시코드 boolean equals(Object obj) - 입력매개변수 obj 객체와 stack 메모리값(번지)비교 - 등가 비교 연산자 == 와 동일한 결과 int hashCode() - 객체의 hashCode() 값 리턴 - Hashtable, HashMap 등의 동등 비교에 사용 - 위치값을 기반으로 생성된 고유값 1️⃣ toSt..
오버라이딩과 오버로딩의 개념을 자주 헷갈려했다. 이번 기회로 그 개념을 명확하게 잡아가보자. 목차 💡오버로딩 ✅ 오버로딩 오버로딩은 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도, 매개변수의 개수 또는 타입이 다르면 같은 이름을 사용해서 메소드를 정의할 수 있다. ✅ 오버로딩의 조건 메소드 이름이 같고 매개 변수의 개수나 타입이 달라야 한다. 리턴값만 다른 것은 오버로딩할 수 없다. *메서드의 리턴 타입은 메서드 식드니처에 포함되지 않으므로, 리턴타입만 다르고 매개변수가 같은 두 메서드는 오버로딩이 아니다. 아래 예시는 오버로딩이 아니다. public int add(int a, int b) { return a + b; } public double add(int a, i..