2025/07 29

접근 제어자

접근 제어 지시자클래스 외부에서 클래스의 멤버 변수 , 메서드 , 생성자를 사용할 수 있는지 여부를 지정하는 키워드 private : 같은 클래스 내부에서만 접근 가능 (외부 클래스 , 상속 관계의 클래스에서도 접근 불가)default : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가)protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할수가 없음public: 클래스의 외부 어디서나 접근 할 수 있음

카테고리 없음 2025.07.15

변수 범위

변수선언 위치사용 범위메모리생성과 소멸지역 변수 (로컬 변수)함수 내부함수 내부에서만 사용스택함수 호출 시 생성 함수 끝나면 소멸멤버 변수 (인스턴스 변수)클래스 멤버 변수로 선언클래스 내부에서 사용 private 아니면 참조 변수로 다른 클래스에서 사용 가능힙인스턴스 생성될 때힙에 생성 , 가비지 컬렉터가 메모리 수거할 때 소멸static 변수 (클래스 변수)static 예약어를 사용하여 클래스 내부에 선언클래스 내부에서 사용 private이 아니면 클래스 이름으로 다른 클래스에서 사용 가능데이터 영역프로그램이 처음 시작할 때 상수와 함께 데이터 영역에 생성 프로그램이 끝나고 메모리 해제할 때 소멸 - static 변수는 프로그램이 메모리에 있는 동안 계속 영역을 차지하므로 너무 큰 메모리를 할당하는..

JAVA 2025.07.15

super 키워드 , 다운캐스팅 , instanceof

super - 하위 클래스에서 가지는 상위 클래스에 대한 참조 값- super()는 상위 클래스의 기본 생성자를 호출- 하위 클래스에서 명시적으로 상위 클래스의 생성자를 호출하지 않으면 super()가 호출 된다.- 상위 클래스의 기본 생성자가 없는 경우 하위 클래스에서는 생성자에서는 super를 이용하여 명시적으로 상위 클래스의 생성자를 호출 함- super는 생성된 상위 클래스 인스턴스의 참조 값을 가지므로 super를 이용하여 상위 클래스의 메서드나 멤버 변수에 접 근 할 수 있다. 다운 캐스팅 - 업캐스팅된 클래스를 다시 원래의 타입으로 형 변환 하는 것이다. - 하위 클래스로의 형 변환은 명시적으로 해야 한다. instanceof - 원래 인스턴스의 형이 맞는지 여부를 체크하..

JAVA 2025.07.15

object 클래스 ,string 관련

equlas() - 두 인스턴스의 주소 값을 비교하여 true/false를 반환한다.- 재정의 하여 두 인스턴스가 논리적으로 동일함의 여부를 구현한다.- 인스턴스가 다르더라도 논리적으로 동일한 경우 true를 반환하도록 재정의 할수 있다. hashCode()- 인스턴스의 저장 주소를 반환한다.- 힙메모리에 인스턴스가 저장되는 방식이 hash 방식- 자료의 특정 값에 대한 저장 위치를 반환해주는 해시 함수를 사용 String , StringBuilder , StringBuffer String : String은 불변하다는 특징을 가지고 있어 수정을 하지못하고 새로운 String 인스턴스가 생성되고 전에 있던 String은 GC에 의해 사라짐StringBuffer : 멀티 쓰레드 프로그래밍에서 동기화Strin..

JAVA 2025.07.15

iterator , 컬렉션 프레임워크 , 스트림

iterator - 컬렉션 프레임워크에 저장도니 요소를 하나씩 차례로 참조하는 것- set 인터페이스 경우 get(i) 메서드를 제공하지 않으므로 iterator를 활용하여 객체를 순회한다. - boolean hasNext() : 이후 요소가 더 있는지 체크하는 메서드 , 있다면 true 반환- E next() : 다음에 있는 요소를 반환 List 인터페이스- 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스- 자료구조 리스트 구현을 위한 인터페이스- 중복을 허용 Map 인터페이스- 쌍(key,value) 으로 이루어진 객체를 관리하는 사용하는 메서드들이 선언된 인터페이스- 객체는 key-value의 쌍으로 이루어짐 - key는 중복을 허용하지 않고 value는 중복을 허용한다. ..

Spring 2025.07.15

Lombok (@EqualsAndHashCode ) 직접 오버라이드

장 단점 @EqualsAndHashCode를 사용하면 Lombok이 알아서 Equals 와 HashCode를 재정의 해준다. @EqualsAndHashCodepublic Class User { private Long id; private String name; private int age;}// 이렇게 하게 되면 // Equals 와 hashCode 를 모든 필드에 대해 비교 후 재정의 하게 된다. 나는 id만 equals 와 hashCode로만 재정의를 하고 싶다고 한다면직접 오버라이드를 사용 하거나 @EqualsAndHashCode에 정의를 해주면 된다. Lombok@EqualsAndHashCode(onlyExplicitlyIncluded = true)public clas..

Spring 2025.07.15