Java11 [JAVA] 오버로딩과 오버라이딩의 차이점 자바의 특징이자 객체 지향(OOP) 4대 특성인 다형성을 지원하는 방법으로 메서드 오버로딩과 오버라이딩이 있다. 오버로딩(Overloading) 같은 이름의 메서드를 여러개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버라이딩(Overriding) 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의하는 기술 서로의 개념은 다르지만, 이름이 비슷하여 자주 헷갈리곤 합니다. 그래서 이번 글에서는 오버로딩과 오버라이딩의 차이점을 하나하나 살펴보고 예제로도 알아보겠습니다. (실제로 면접에서 자주 나오는 질문이라고 합니다만, 저는 면접을 본적이 없어서 잘 모르겠네요..) 오버로딩(Overloading) 오버로딩이란 같은 이름의 메서드를 여러개 정의하고, 매개변수의 유형과 개수를 다르게 하여 메서드.. 2024. 3. 16. [Spring] 스프링 컨테이너와 자동/수동 빈 등록 개념 정리 인프런의 김영한님의 Spring 강의를 들으며 공부한 내용을 복습 차원에서 작성한 글이다. 이번 글에서는 스프링 컨테이너와 빈 등록(자동/수동) 방법에 대해 알아보겠다. 스프링 컨테이너란? 스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 한다. 여기서 말하는 자바 객체를 스프링에서는 빈(Bean) 이라고 부릅니다. 여기 글에서는 다루지 않지만, IoC와 DI의 원리가 이 스프링 컨테이너에 적용이 된다. (IoC와 DI, 제어와 역전 그리고 의존성 주입에 대해 잘 모르신다면 알아서 알아오기~) 개발자가 new 연산자, 인터페이스 호출 등등의 방식으로 객체를 생성하고 소멸시킬 수 있는데, 이 작업을 스프링 컨테이너가 대신해 줍니다. 즉, 제어 흐름.. 2024. 3. 12. [JAVA] Lombok(롬복) 사용 - IntelliJ에서 설치 및 적용방법 Lombok(롬복) 이란? Lombok 은 자바의 Annotation processsor 라는 기능을 이용하여 컴파일 시점에 Lombok의 어노테이션을 읽어서, 다양한 메서드와 생성자를 자동으로 생성해 주는 라이브러리이다. (Getter, Setter, Equals, ToString 등과 같은 코드를 자동완성 해준다.) 쉽게 얘기하여, 개발자가 해야하는 기본적이고 반복적인 작업들을 정해진 위치에 @(어노테이션)만 붙여주면 Lombok 이 이런 일들을 대신 해주는 것이다. 이렇게 설명해도 정확이 와닿지 않을 수 있으니 아래에 글을 통해 쉽게 이해할 수 있도록 정리를 하였다. Lombok 기능에 대해 정리하기 전에 Lombok 을 설치 및 적용하는 방법에 대해 알아보자. IntelliJ(인텔리제이) Lomb.. 2024. 3. 11. [JAVA] JVM과 자바 메모리 영역 Static, Stack, Heap JAVA 에서 사용되는 대표적인 메모리 영역에는 Static, Stack, Heap 영역이 있다. JAVA를 공부하면서 그리고 Spring 을 다루면서 기본적으로 알고 있어야 하는 개념이기에, 이 세 가지의 주요 특징과 사용되는 방식에 대해 알아보도록 하자. (실제로 Spring을 공부할 때, Static 을 함부로 쓰면 안된다고 하여 정리하게 되었다.) 우선, 메모리 영역에 대해 알아보기 전에 간단하게 JVM에 대해서 알아보고 가자. JVM 이란? JVM 이란 Java Virtual Machine의 약자이며, 자바 가상 머신이라고도 한다. Java의 바이트 코드를 해석하고 실행하는 역할을 한다. JVM 을 설치만 하면 어떠한 운영체제(OS)에서든 java 파일을 실행할 수 있다는 장점이 있다. JVM .. 2024. 3. 11. [JAVA] 객체지향 프로그래밍의 설계원칙 - SOLID 5원칙 SOLID 5원칙 SOLID 5원칙이란 로버트 마틴이 소개한 객체지향 프로그래밍 설계의 5가지 기본 원칙을 말하며, 5가지의 앞글자를 따서 "SOLID" 라고 부르고 있습니다. • SRP : 단일 책임 원칙(single responsibility principle) • OCP: 개방-폐쇄 원칙 (Open/closed principle) • LSP : 리스코프 치환 원칙 (Liskov substitution principle) • ISP : 인터페이스 분리 원칙 (Interface segregation principle) • DIP : 의존관계 역전 원칙 (Dependency inversion principle) 단일 책임 원칙 : SRP(single responsibility principle) 단일 책.. 2024. 2. 7. 이전 1 2 다음 반응형