Java (96) 썸네일형 리스트형 인터페이스 ( interface ) 인터페이스 ( interface )란?인터페이스란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 역할까지 담당하는 추상 클래스를 의미한다.자식 클래스가 여러 부모 클래스를 상속 받을 수 있다면 다양한 동작을 수행할 수 있다는 장점이 있지만, 클래스를 이용하여 다중 상속을 할 경우 출처의 모호성과 코드를 작성할 때 방어적 코드를 함께 적어주어야 된다는 단점이 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않는다. 하지만 다중 상속의 장점을 버릴 수 없어 인터페이스라는 것을 통해 다중 상속을 지원하고 있다.인터페이스는 오로지 추상 메서드와 상수만을 포함할 수 있다.인터페이스 특징추상 메서드 : 인터페이스는 추상 메서드(구현부가 없는 메서드)만을 가질 수 있다. 자바 8.. 다형성 ( Polymorphism ) 다형성 (Polymorphism)이란?다형성은 객체 지향 프로그래밍에서 중요한 개념 중 하나이다. 이는 한 요소(예: 메서드, 클래스)가 여러 형태를 가질 수 있는 능력을 의미한다. 다형성은 코드의 유연성과 재사용성을 높여주며, 상속, 추상화, 인터페이스와 함께 사용된다.package basic.ch20;public class Animal { // 동물의 기능 // 움직인다 public void move() { System.out.println("동물이 움직입니다."); } // 먹이활동 public void eating() { System.out.println("먹이를 먹습니다."); }}package basic.ch20;public class Human exte.. 의존 관계 ( Dependency ) 의존 관계 ( Dependency )란?의존관계는 한 클래스가 다른 클래스를 사용하는 관계를 나타낸다. 즉, 어떤 클래스가 다른 클래스를 참조하는 것을 말한다. 이는 한 클래스의 변경이 다른 클래스에 영향을 줄 수 있음을 의미한다.예를 들어, 자동차 클래스가 엔진 클래스에 의존할 때, 자동차 클래스는 엔진을 사용하고 있으며, 엔진 클래스의 변경이 자동차 클래스에 영행을 줄 수 있다.💡 의존관계 정의존관계는 한 클래스가 다른 클래스를 사용하는 관계를 나타냅니다. 한 클래스가 다른 클래스에 의존할 때, 의존관계가 형성된다. 이는 한 클래스의 변경이 다른 클래스에 영향을 줄 수 있음을 의미한다.예를 들어, 자동차 클래스가 엔진 클래스에 의존할 때, 자동차 클래스는 엔진을 사용하고 있으며, 엔.. 연관 관계 ( Association )란? 연관관계 (Association) 란? 연관관계는 일반적으로 한 클래스의 객체가 다른 클래스의 객체와 상호작용을 하지만, 둘 사이의 생명주기에 대한 의존성은 갖지 않는 경우를 의미한다. 예를 들어, 한 은행(Bank)과 여러 고객(Customer) 사이의 관계가 연관관계의 사례가 될 수 있다. 고객은 하나의 은행에 계좌를 가질 수 있고, 은행은 여러 고객을 가질 수 있지만, 고객의 생명주기는 은행에 의존하지 않는다. 연관관계(Association) 와 포함관계(Composition) 는 객체지향 프로그래밍에서 객체 간의 관계를 나타내는 두 가지 다른 개념이다. 그러나 이 둘은 완전히 독립적인 개념이 아니며, 포함관계는 연관관계의 특수한 형태로 볼 수 있다. 즉, 모든 포함관계는 연관관계이지만, 모든 연관.. Composition ( 포함 관계 ) Composition ( 포함 관계 ) 이란? 포함 관계는 한 클래스가 다른 클래스를 자신의 필드 (맴버변수)로서 포함하는 것을 말한다. 이 개념은 "has - a" 관계로도 알려져 있으며, 객체 간의 강한 연관성을 나타낸다. 즉, 하나의 객체가 다른 객체 없이는 의미가 없을 때 포함 관계를 사용한다. : 자동차와 엔진의 관계를 상속으로 사용하면 안된다! 포함 관계 특징 포함된 객체는 포함하는 객체 안에서만 존재하며, 포함하는 객체가 파괴되면 포함된 객체도 함께 파괴된다. 이 관계는 객체 간의 강한 의존성을 특징으로 하며, 소유하는 객체가 완전한 책임을 가진다. 포함 관계는 연관 관계보다 더 강한 연결을 의미한다. package basic.ch18; public class Engine { String n.. 오버라이드 ( Override ) 오버라이드 ( Override ) 란? 오버라이드란 상속 관계에서 부모 클래스에 정의된 메서드를 자식 클래스에서 재정의(다시 정의)하는 것을 말한다. 즉, 자식 클래스에서 부모 클래스의 메서드를 새로운 내용으로 구현하는 것이다. 이렇게 하면 자식 클래스는 부모 클래스의 메서드를 덮어쓰게 되므로, 부모 클래스의 메서드 대신에 자식 클래스에서 정의한 메서드가 호출된다. package basic.ch17; public class Cal { public Cal() { System.out.println("Cal() 부모 생성자 호출"); } public int sum(int n1, int n2) { return n1 + n2; } public int multiply(int n1, int n2) { System.o.. 상속 ( Inheritance ) 상속 ( Inheritance )이란? 상속은 객체 지향 프로그래밍에서 중요한 개념 중 하나이다. 상속은 기존 클래스를 확장하여 새로운 클래스를 정의하는 매커니즘을 말한다. 상속을 통해 기존 클래스의 속성과 메서드를 재사용하고 확장하여 새로운 클래스를 만들 수 있다. 이를 위해 상속에서는 두 개의 클래스가 필요하다. 부모 클래스(Parent Class) 또는 슈퍼 클래스(Superclass) : 기존에 정의된 클래스로, 상속의 대상이 되는 클래스이다. 부모 클래스의 속성과 메서드를 자식 클래스에게 상속한다. 자식 클래스(Child Class) 또는 서브 클래스(Subclass) : 부모 클래스를 확장하여 새롭게 정의되는 클래스이다. 자식 클래스는 부모 클래스의 모든 속성과 메서드를 상속 받는다. pack.. 메서드 오버로딩 ( Overloading ) 메서드 오버로딩 ( Overloading ) 이란?메서드 오버로딩은 같은 이름의 메서드를 여러 개 정의하는 것을 말한다. 이때 메서드의 시그니처(signature), 즉 메서드 이름과 매개변수의 타입, 개수, 순서가 서로 달라야 한다. 메서드 오버로딩을 사용하면 같은 기능을 하는 메서드들을 하나의 이름으로 통일 할 수 있어 코드의 가독성을 높일 수 있다.package basic.ch16;/** * 메서드 오버로딩이란? * 같은 이름의 메서드를 여러 개 * 정의하는 것을 말한다. */public class Calculator { // 덧셈 메서드 생성 public int add(int a, int b) { return a + b; } public double add(doubl.. 이전 1 ··· 5 6 7 8 9 10 11 12 다음