본문 바로가기

분류 전체보기134

[JAVA] Static과 Singleton 패턴 Static과 Singleton 패턴은 Java에서 객체와 데이터를 효율적으로 관리하기 위한 중요한 개념입니다.1. Static 개념 및 활용Static은 객체마다 공유되는 동일한 값을 가지거나, 객체 생성 없이 클래스 레벨에서 직접 접근해야 할 때 사용하는 키워드입니다.Static 멤버 변수Static 변수는 객체들이 공유하는 값입니다.일반 변수는 각 객체마다 고유한 값을 가지지만, Static 변수는 클래스 레벨에서 생성되며 모든 객체가 동일한 값을 참조합니다.public class Count { public int a; // 일반 변수 public static int b; // 정적 변수} 예제: Static 변수 사용Count c1 = new Count();c1.a++; // 객체별로 .. 2025. 1. 11.
[JAVA] 자바의 다형성(Polymorphism) 이해하기: 개념부터 예제까지 다형성은 자바 객체지향 프로그래밍에서 매우 중요한 개념 중 하나입니다. 이를 통해 객체가 다양한 형태를 가질 수 있으며, 유연하고 확장성 높은 코드를 작성할 수 있습니다. 이번 글에서는 다형성의 기본 개념, 예제, 그리고 활용 방법을 다루며, 관련된 핵심 주제인 instance of 연산자와 클래스 캐스팅 도 함께 설명하겠습니다.1. 다형성(Polymorphism)정의: 객체가 다양한 형태를 가질 수 있는 성질.특징:자식 객체가 부모 타입을 가질 수 있다.부모 타입으로 선언된 변수는 부모 클래스의 메서드만 사용할 수 있다.단, 오버라이딩(Overriding) 된 메서드는 자식 클래스의 구현이 실행된다.상속 관계가 반드시 전제되어야 한다.2. 클래스 형변환(Class Casting)다형성으로 인해 부모 타.. 2025. 1. 11.
[JAVA] 접근제어자, 은닉 접근 제어자(Access Modifier)와 은닉(Encapsulation)은 자바의 객체지향 프로그래밍에서 데이터 보호와 캡슐화를 구현하는 핵심 개념입니다.이들은 클래스와 멤버(변수, 메서드)의 접근 범위 를 제한하거나 관리하여, 코드의 보안성과 유지보수성을 높이는 데 기여합니다1. 접근제어자(Access Modifiers)클래스에 적용되는 접근제어자public: 다른 패키지에서도 접근 가능.default: 접근제어자를 명시하지 않으면 default로 설정되며, 같은 패키지 내에서만 접근 가능.예시   class A {//클래스 붙는 접근제어자(접근제어자를 붙이지않으면 default)}  public class B {A a = new A(); //default는 같은 패키지에서 접근가능}  멤버 변수와.. 2025. 1. 11.
[JAVA] 오버라이딩(Overriding) , 오버로딩(overloading) , super 와this 자바 오버로딩(Overloading), 오버라이딩(Overriding), super와 this 이해하기자바 프로그래밍에서 오버로딩, 오버라이딩, 그리고 super-this 키워드는 객체지향 프로그래밍의 핵심 개념입니다. 이들은 코드의 재사용성과 가독성을 높이고, 다양한 상황에서 유연하게 동작할 수 있도록 도와줍니다. 이 글에서는 이 세 가지 개념을 쉽게 이해할 수 있도록 예제를 통해 설명하겠습니다.1. 오버로딩(Overloading)오버로딩은 같은 이름의 메서드를 여러 개 정의하되, 매개변수의 타입이나 개수를 다르게 지정하여 사용할 수 있게 하는 기능입니다.특징컴파일 시간에 결정됩니다.리턴 타입은 오버로딩을 구분하는 기준이 아닙니다.class Calculator { // 정수 두 개를 더하는 메서드.. 2024. 11. 30.
[JAVA] 상속(Inheritance) 상속의 중요성과 활용: 중복 코드를 줄이고 유지보수성을 높이자!상속이란?상위 클래스(부모)의 속성과 메서드를 하위 클래스(자식)가 물려받는 개념. 코드의 중복은 유지보수를 어렵게 만듭니다. 아래는 상속을 사용하지 않았을 때의 코드와, 상속을 활용해 효율적으로 개선된 예제를 비교해 보겠습니다.상속을 사용하지 않은 코드 (Bad Ver.)public class Employee { String name; int age; String department; // 부서 String info() { return "이름: " + name + ", 나이: " + age + ", 부서: " + department; }}public class Student { String nam.. 2024. 11. 27.
자바(Java) 클래스 - 객체 생성 및 활용 , import 클래스와 객체1. 기본 클래스: Calculator클래스는 설계도 역할을 하며, 이를 기반으로 객체를 생성할 수 있습니다. 객체를 사용하지 않고 메소드를 직접 사용하는 경우도 있지만, 객체를 생성하면 코드 재사용성이 높아지고 유지보수가 더 쉬워집니다.2. 객체 생성하지 않고 메소드 사용메소드를 static으로 선언하면 객체를 생성하지 않고도 직접 호출할 수 있습니다.예제 (static 메소드):public class Calculator { public static int add(int a, int b) { return a + b; } public static int subtract(int a, int b) { return a - b; } publ.. 2024. 10. 22.