Java
-
자바 오버로딩, 오버라이드Java 2023. 3. 16. 01:08
오버로딩 (Overloading) 오버로딩은 하나의 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것입니다. 오버로딩된 메소드들은 서로 다른 매개변수 타입, 개수, 순서 등을 갖습니다. 호출할 때 인자에 따라 맞는 오버로딩된 메소드가 자동으로 선택됩니다. public class Calculator { public int sum(int x, int y) { return x + y; } public int sum(int x, int y, int z) { return x + y + z; } public double sum(double x, double y) { return x + y; } } 오버라이딩 (Overriding) 오버라이딩은 상위 클래스가 정의한 메소드와 동일한 이름, 매개변수, 반환형을 갖..
-
Java Generic 이란Java 2023. 3. 16. 00:56
HTML 삽입 미리보기할 수 없는 소스 Java에서 제네릭은 데이터 타입의 안정성을 보장하는 기능입니다. 제네릭을 사용하면 컴파일 시에 타입 체크를 수행하고, 실행 시에 타입 에러를 방지할 수 있습니다. 이를 통해 개발자는 컴파일 시에 타입 안정성을 보장받고, 런타임에서 발생하는 예외를 줄일 수 있습니다. 제네릭을 사용함으로써 얻을 수 있는 장점은 다음과 같습니다. 타입 안정성: 제네릭을 사용하면 타입 안정성을 보장받을 수 있습니다. 컴파일러는 컴파일 시에 제네릭 타입을 체크하므로 런타임에서 타입 에러를 방지할 수 있습니다. 코드 재사용성: 제네릭을 사용하면 여러 종류의 데이터 타입을 처리하는 메서드나 클래스를 만들 수 있습니다. 이렇게 만든 코드는 다양한 타입의 객체에서 재사용이 가능합니다. 가독성: ..
-
자바 추상클래스와 인터페이스의 차이점Java 2019. 6. 18. 01:15
이것은 전적으로 내 경험에 기반한 생각이지만 java를 통해 코딩을 배우는 학생과 현업에서 실무를 하는 직장인 모두 추상클래스와 인터페이스를 많이 사용하진 않는 것 같다. 학생 때 사용한 경험은 자바 기본 문법에서 인터페이스와 추상클래스를 배울 때 정도였던 것 같고 실무에서는 Spring의 DI를 위해 Service 레이어를 만들 때 ~Service를 인터페이스로 의무적으로 만들고 이를 구현하는 방식이었던것 같다. 서론이 길었지만 먼저 제목은 차이점이지만 공통점부터 알아보자. > 추상클래스 또는 인터페이스의 추상메소드를 구현체가 구현 한다. 결국은 추상 메소드를 구현하는 건데 왜 이것에 대한 구분이 필요한 것일까? 인터페이스와 추상클래스는 존재의 목적이 다르다. 누구는 인터페이스를 다중 상속을 위해서 만..