일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch9
- 스프링 mvc2 - 로그인 처리
- 데이터 접근 기술
- 자바의 정석 기초편 ch2
- 자바 중급2편 - 컬렉션 프레임워크
- 자바 고급2편 - 네트워크 프로그램
- 자바의 정석 기초편 ch13
- 스프링 mvc2 - 타임리프
- 람다
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch5
- 스프링 mvc1 - 스프링 mvc
- 자바 고급2편 - io
- 스프링 입문(무료)
- 자바 기초
- 자바의 정석 기초편 ch11
- 스프링 트랜잭션
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch12
- 2024 정보처리기사 수제비 실기
- @Aspect
- 자바로 키오스크 만들기
- 자바로 계산기 만들기
- 자바의 정석 기초편 ch4
- 스프링 mvc2 - 검증
- 스프링 고급 - 스프링 aop
- 자바 중급1편 - 날짜와 시간
- 2024 정보처리기사 시나공 필기
- Today
- Total
목록이론 직접 정리/자바 (6)
개발공부기록

자바의 예외자바는 프로그램 실행 중에 발생할 수 있는 예상치 못한 상황을 처리하기 위한 메커니즘을 제공하는게 이것이 예외(예외 객체)이다.예외처리는 프로그램의 안정성과 신뢰성을 높이는데 매우 중요한 역할을 한다. 예외가 발생하면 잡아서 처리하거나, 만약 처리할 수 없다면 밖으로 던질 수 밖에 없다. 잡아서 처리하고자 할 때는 try - catch - finally 구분을 사용하거나, Java 7에서 도입된 자동으로 외부 자원을 해제해주는 try - with - resources를 이용해서 처리할 수 있고 throws로 상위 계층으로 던질 수도 있다 계속 처리되지 않고 예외를 상위 계층으로 올라가면 결국 프로그램을 실행하는 main 메서드까지 예외가 올라가게 되고 여기서도 처리하지 못한다면 프로그램이 종료..

Shallow CopyShallow Copy(얕은 복사)객체를 복사할 때 객체가 가진 필드의 값을 그대로 복사하는 방법을 뜻한다기본 자료형의 경우 값 자체가 복사되며, 객체(참조형)의 경우 참조 주소(메모리 주소값)만 복사된다는 뜻이다특징원본 객체와 복사본 객체는 서로 다른 객체지만 객체 내부에서 참조하고 객체는 동일한 객체를 가리키게 된다.실제 데이터가 아닌 참조값만 복사하기 때문에 복사 과정이 매우 빠르다기존 객체의 데이터와 공유되기 때문에 추가적인 메모리 사용량이 매우 적어 메모리 사용이 효율적이다단점복사된 객체와 원본 객체가 내부 데이터를 공유한다는 특성을 모르고 접근할 경우 원본 데이터를 변경하면 복사된 객체도 영향을 받으므로 사이드 이펙트(side-effect) 문제가 발생할 수 있다(Muta..

Call By Value설명메서드 호출 시 인자로 전달되는 값 자체를 복사하여 넘긴다는 뜻이다즉, 원본 값은 메서드 내부로 복사되어 별도의 독립적인 변수로 사용된다기본형(primitive type)기본형 데이터(int, double, boolean 등)은 값 자체가 복사되어 전달된다.메서드 내에서 변경된 값은 원본 변수에 영향을 주지 않는다참조형(reference type)객체의 참조값(주소)가 복사되어 전달된다.메서드 내에서 참조값 자체를 바꿔 재할당 하면 원본 참조에는 영향을 주지 않는다.하지만 객체의 속성(상태)를 변경하면 같은 객체를 참조하고 있으므로 원본 객체에도 변경이 반영된다Call By Reference설명메서드 호출 시 인자의 참조(메모리 주소)를 직접 전달하는 방식이다인자의 참조 자체가..
Managed 언어정의애플리케이션 실행 시, 가상 머신(JVM, .NET CLR 등)이나 런타임 환경이 메모리 관리, 보안, 예외 처리 등 여러 작업을 대신 수행하는 언어를 뜻한다특징자동 메모리 관리가비지 컬렉터가 메모리 할당 및 해제를 자동으로 수행해 메모리 누수 가능성을 줄인다런타임 검사타입 안정성, 경계 검사 등을 통해 실행 중 오류를 미연에 방지한다보안 및 안정성관리되는 환경 덕분에 버퍼 오버플로우 같은 저수준 취약점 발생 확률이 낮다대표적인 언어Java: JVM 위에서 실행되며 자동 가비지 컬렉션을 제공한다C#: NET CLR 환경에서 동작하며 강렬한 타입 검사와 메모리 관리를 지원한다VB.NET, F#: .NET 환경의 다른 언어들도 Managed 언어 범주에 속한다Unmanaged 언어정의컴..

불변 객체란?Immutable Object(불변 객체)는 말 그대로 객체 생성 후 그 상태를 바꿀 수 없는 객체를 말한다이와 반대 개념으로 객체 생성 후 상태를 변경할 수 있는 Mutable Object(가변 객체)도 존재한다. 불변 객체는 객체의 상태를 바꿀 수 없는 단순한 제약을 사용하여 사이드 이펙트라는 큰 문제를 막을 수 있어 코드의 안정성을 높여준다.객체의 상태를 바꿀 수 없기 때문에 객체 내부의 값을 변경하는 메서드가 존재해도 실제 내부의 값을 변경하는 것이 아니라 새로운 객체를 생성해서 새로운 참조값을 반환하여 완전히 새로운 객체를 반환한다. 객체의 값을 변경할 수 없기 때문에 멀티스레드 환경에서도 안전하게 동작하는데, 불변 객체 내부에 참조하는 객체들도 모두 불변이여야 멀티스레드 환경에서 ..

Java의 final 키워드란?자바의 final 키워드는 이름 그대로 끝이라는 뜻처럼 final 키워드가 적용된 대상의 변경을 금지하여 코드의 가독성과 안전성, 유지보수성을 향상시키는 데 도움을 주는 키워드이다.final 키워드는 클래스, 메서드, 변수에 사용할 수 있다Class에 사용되는 final final 키워드가 선언된 클래스는 확장할 수 없으므로 다른 클래스가 final로 선언된 클래스를 상속받을 수 없다상속 하려고하면 IDE에서 컴파일 오류가 발생하는 것을 확인할 수 있다 컴파일 오류를 무시하고 상속하고 실행해보면 Finalclass가 final이라서 상속할 수 없다는 문구와 함께 실행이 되지 않는다 Method에 사용되는 final final로 선언된 메서드는 오버라이드 될 수 없으므로 상속..