본문 바로가기

Back-End/JAVA7

[JAVA]메소드 재정의 메소드 재정의를 통해 객체 지향 프로그래밍의 다형성(Polymorphism) 을 실현할 수 있으며, 자식 클래스가 부모 클래스의 기능을 확장하거나 변경할 수 있게 합니다.메소드 재정의의 특징메소드 시그니처가 동일해야 합니다: 재정의하는 메소드의 이름, 매개변수의 타입과 개수가 부모 클래스의 메소드와 동일해야 합니다.접근 제한자를 더 강하게 할 수 없습니다: 자식 클래스에서 재정의된 메소드의 접근 제한자는 부모 클래스의 메소드보다 더 강하게 설정할 수 없습니다. 예를 들어, 부모 클래스의 메소드가 public이라면, 자식 클래스에서 protected나 private으로 재정의할 수 없습니다.예외(Exception)의 제한: 자식 클래스의 메소드는 부모 클래스의 메소드에서 던질 수 있는 예외와 동일하거나 더.. 2024. 9. 5.
[JAVA]Generic 명명 관례 Generic 명명 관례타입 매개변수는 일반적인 변수명처럼 소문자로 사용해도 문제는 없다. 하지만 일반적으로 대문자를 사용하고 용도에 맞는 단어의 철글자를 사용한다.주로 사용하는 키워드E : ElementK : KeyN : NumberT : TypeV : ValueS,U,V etc : 2nd,3rd,4th types 2024. 5. 23.
[EffectiveJava]생성자 대신 정적 팩터리 메서드를 고민하라. 생성자란? 정적 팩터리 메서드란? 생성자 대신 정적팩터리 메서드를 사용시 이점 이름을 가질수 있다. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 반환 타입의 하위 타입 객체를 반활할 수 있는 능력이 있다. 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다. 정적 팩터리 매서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다. 정적 팩토리 메서드 네이밍 컨벤션 from : 하나의 매개 변수를 받아서 객체를 생성 of : 여러개의 매개 변수를 받아서 객체를 생성 getInstance | instance : 인스턴스를 생성. 이전에 반환했던 것과 같을 수 있음. newInstance | create : 새로운 인스턴스를 생성 get[OtherType] : 다른 타입의 인.. 2022. 5. 4.
[JAVA]오버로딩 자바에서는 클래스내에 같은 이름의 메소드라도 매개변수의 타입, 순서, 개수가 다른 형태의 메소드를 허용한다. 이를 오버로딩이라고 한다. 위에 처럼 설명한다면 이해하기는 어려울 것이다. 우리는 차를 가지고 주유소에 방문하여 주유한다고 가정하자. 주유소는 주유를 해주면서 돈을 받아야한다. 이때 우리가 현금결재를 CashRefuel, 신용카드를 CreditRefuel이라 할수 있다. class Car{ private int energy; private void cashRefuel(int cash){ //금액에 따른 주유량을 구하는 로직이 들어갈수 있다. energy++; } private void creditRefuel(int cash){ //금액에 따른 주유량을 구하는 로직이 들어갈수 있다. energy++.. 2022. 5. 4.