no image
[Java] 오버로딩(Overloading)과 오버라이딩(Overriding)이란
오버로딩(Overloading)매개변수의 유형과 개수를 다르게 하여 같은 이름의 메서드를 여러 개 가지는 기법 예시)public class Calculator { public int add(int a, int b){ return a+b; } public double add(double a, double b){ return a+b; } public String add(String a, String b){ return a+b; }}위와 같이 오버로딩을 사용하면, 매개변수의 유형을 다르게 하여 같은 이름의 메서드를 여러 개 가질 수 있게 한다. 오버라이딩(Overriding)상위 클래스에서 정의한 일반 메서드의 구현을 하위 클래스에서 무시하고 재정..
2023.09.17
no image
[Java] 접근 제어자(Access Modifiers) 활용해보기
예제은행 계좌를 나타내는 클래스인 BankAccountBankAccount에 잔고 역할인 balance는 외부에서 클래스에서 직접 접근하지 못하도록 private 사용잔고는 Getter & Setter 형식으로만 접근 가능  구현1. 최소한의 공개 - 필요한 것은 public으로 공개, 그 외는 private 또는 protected로 보호한다.public class BankAccount { private double balance; // 잔고} 2. 정보 은닉 - private를 사용해 객체 상태를 숨기고 public 메서드를 통해 안전하게 데이터에 접근 및 수정한다.public class BankAccount { private double balance; // 잔고 // 잔고 조회 ..
2023.09.11
no image
[Java] 접근 제어자(Access Modifiers) 이해하기
Java 프로그래밍에서 접근 제어자는 클래스의 멤버에 대한 접근 권한을 제어하는 데 사용된다.이것은 코드의 가독성, 보안성, 재사용성을 높이는 중요한 요소 중 하나다. 1. public (공개)가장 개방적인 접근 권한을 가짐으로 해당 멤버를 어디서든 자유롭게 접근할 수 있다.//다른 클래스에서도 해당 멤버에 접근 가능public class AccessClass { public int publicField; public void publicMethod() { // public method code }} 2. private (비공개)정보 은닉에 사용된다. 해당 멤버를 같은 클래스 내에서만 접근 가능하도록 제한한다.public class AccessClass { pri..
2023.09.11
no image
[Java] static 이해하기
Static 기본 개념static은 "정적" 또는 "고정된"이라는 의미를 갖는다.즉, static이 붙은 경우 객체가 아닌 클래스에 속하며, 해당 클래스의 모든 인스턴스가 공유한다.이로 인해 static 멤버는 클래스 수준에서 관리됨으로 객체 생성 없이 직접 접근할 수 있다. static - class methodno static - instance method Static 변수class StaticTestClass { static int staticVar = 10;} 위 예제에 staticVar는 StaticTestClass에 속하고 모든 StaticTestClass 객체 간에 값을 공유한다.즉, 객체 생성 없이 StaticTestClass.staticVar 와 같이 접근 가능하다. Static ..
2023.09.09
no image
[Spring] 이클립스에 Spring 프로젝트 생성 (STS4 설치)
1. [설치확인] Eclipse → Window → Preferences  1-1. Spring 검색 시 검색되는 내용이 없는 경우 2번부터 진행 2. [설치진행] Help → Eclipse Marketplace... 3. spring tools 4 검색 (STS4 라고 검색해도 나옴)아래 사진에 installed 라고 되어 있는데, 작성자는 이미 설치하여 사진과 같이 나타납니다.설치를 안 했다면 install라고 나타납니다. 4. [install] 클릭 시 아래와 같이 모두 체크해 준 뒤에 [Confirm]위에 설명한 내용과 동일하게 작성자는 이미 설치하였기 때문에 update로 나타납니다. 5. Review Licenses 동의(accept) 후 [Finish] 6. [설치적용] 설치된 내용을 적용하..
2023.09.05
no image
[SOLID] 좋은 객체 지향 설계 5가지 원칙
SOLIDSRP(Single Respinsibility principle): 단일 책임 원칙OCP(Open/Closed Principle): 개방-폐쇄 원칙LSP(Liskov Substitution Principle): 리스코프 치환 원칙ISP(Interface Segregation Principle): 인터페이스 분리 원칙DIP(Dependency Inversion Principle): 의존관계 역전 원칙 SRP한 클래스는 하나의 책임만 가져야한다.ex) 특정 코드(UI 변경 등) 수정 시 수정/변경해야하는 코드가 적을수록 단일 책임 원칙을 잘 따른 것 OCP확장에는 열려(OPEN) 있어야하고 변경에는 닫혀(CLOSED) 있어야 한다.ex) 인터페이스를 통해 새로운 클래스 생성하여 새로운 기능을 구현할..
2023.08.14