1. final 클래스 final class FinalClass { } public class FinalTest extends FinalClass { //컴파일 에러 } final이 클래스 앞에 사용되면 다른 클래스가 상속할 수 없다. final class FinalClass extends FinalClass{ } public class FinalTest { } 반대로, final 클래스가 다른 클래스는 상속할 수 있다. 2. final 메소드 메소드에 final이 붙게 되면 재정의(Overriding)을 할 수 없다. public class FinalTest extends FinalClass { public void test() { // 컴파일 에러, 'test()' cannot override 'te..
1. String, String에서 + 연산을 하면 안되는 이유 Java를 사용하면서 자주 사용하는 String은 Immutable 특성을 가지고 있습니다. Immutable 이란 변경할 수 없는, 불변이라는 뜻으로 String의 값은 한번 생성이 되면 할당된 공간이 변하지 않는다는 특성이 있습니다. 그러면 아래와 같이 + 연산을 했을 때, 합쳐지는 것은 어떻게 처리 되는 것일까요? String str = "a"; str += "b"; 위 코드 처럼 + 연산을 하면 메모리를 할당받아 새로운 String 클래스 객체를 만들어서 문자열을 나타냅니다. 그리고 이전에 참조하던 "a"는 쓰레기가 되고 나중에 가비지 컬렉터에 의해 제거됩니다. 이러한 이유 때문에, 시간과 메모리가 많이 소모됩니다. 연산을 많이 할수..
Springboot를 활용하여 공부하고 있는 중 의존성 주입을 할때, Field, Setter Injection은 좋지 않다는 것을 알게 되었다. 왜 그런지 찾아보았고 정리해본다. 우선, 의존성 주입의 종류로는 Field, Setter, Constructor이 있다. 1. 의존성 주입의 종류 1.Field Injection @Service public class MemberService{ @Autowired private MemberRepository memberRepository; } 2.Setter Injection @Service public class MemberService{ private MemberRepository memberRepository; @Autowired public void s..
- Total
- Today
- Yesterday
- mod_jk
- 413
- StringBuilder
- final
- Spring
- lombok
- JsonProperty
- JsonIgnore
- 연동
- shellscript
- 빌드도구
- IoC
- Tomcat
- springboot
- 스프링프레임워크
- java
- 스프링
- 빈팩토리
- stringbuffer
- DI
- 자바
- 토비의스프링
- EmbededTomcat
- AOP
- 애플리케이션컨텍스트
- gradle
- 쉘스크립트
- 템플릿
- apache
- jar 실행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |