반응형

JAVA 24

30. [ JAVA ] 상속 : 직속

직속상속은 한 클래스가 다른 클래스를 직접 상속받는 것을 의미합니다. 자바에서는 'extends' 키워드를 사용하여 직속상속을 구현합니다.  1. 주요 특징1) 단일 상속자바에서는 클래스의 다중 상속을 지원하지 않습니다. 한 클래스는 오직 하나의 부모 클래스만 직접 상속받을 수 있습니다. 2) 코드 재사용부모 클래스의 속성과 메서드를 자식 클래스에서 그대로 사용할 수 있어 코드 재사용성이 높아집니다.3) 확장성자식 클래스는 부모 클래스의 기능을 상속받아 사용하면서 추가적인 기능을 구현할 수 있습니다.  2. 예시

JAVA/이론 2024.12.16

29. [ JAVA ] 상속 : extends

상속(inheritance)은 객체 지향 프로그래밍의 핵심 개념 중 하나로, 기존 클래스의 특성을 새로운 클래스가 물려받아 사용하는 메커니즘입니다.상속은 코드의 재사용성을 높이고 프로그램의 구조를 체계화하는 데 중요한 역할을 합니다. 1. 상속의 개념 기존 클래스(부모 클래스)의 필드와 메소드를 새로운 클래스(자식 클래스)가 물려받아 사용합니다. 부모 클래스는 상위 클래스, 기초 클래스로도 불립니다. 자식 클래스는 하위 클래스, 파생 클래스로도 불립니다. 2. 상속의 장점 코드 재사용성 향상: 기존 클래스의 기능을 재활용할 수 있습니다. 중복 코드 감소: 공통 특성을 부모 클래스에 작성하여 자식 클래스에서 중복을 피할 수 있습니다. 계층적 구조 형성: 클래스 간의 관계를 체계적으로 구성할 수 있습니다1...

JAVA/이론 2024.12.16

28. [ JAVA ] 메소드 오버로딩 예시 2

1. 예시) 문제: 학생-강의 수강 시스템코드 구조public class Student {    private String name;    private String studentId;    private Lecture registeredLecture;    // 생성자    public Student(String name, String studentId) {        // 학생의 이름과 학번을 초기화합니다.            }    public boolean registerLecture(Lecture lecture) {        // 1. 이미 수강 중인 강의가 있는지 확인합니다.        // 2. 수강 중인 강의가 없다면, 주어진 강의에 학생을 등록합니다.        // 3. 강의..

JAVA/실습 2024.12.13

27. [ JAVA ] 메소드 오버로딩 예시 1

1. 예시  도서관 대출 시스템 도서관의 도서 대출 시스템을 구현하는 간단한 프로그램을 작성하세요. 이 시스템은 Book과 Member 두 개의 엔터티 클래스로 구성됩니다.(1) 요구사항: Book 클래스 구현: 문제: 도서관 대출 시스템 도서관의 도서 대출 시스템을 구현하는 간단한 프로그램을 작성하세요. 이 시스템은 Book과 Member 두 개의 엔터티 클래스로 구성됩니다.(2)  요구사항: Book 클래스 구현: 속성: 제목(title), 저자(author), 대출 가능 여부(isAvailable) 메서드: 대출하기(borrow), 반납하기(returnBook) (2 -1) Member 클래스 구현: 속성: 이름(name), 대출한 책 (borrowedBook) 메서드: 책 빌리기(borrowBoo..

JAVA/실습 2024.12.13

26. [ JAVA ] 메소드 오버로딩 (Method Overloading)

메소드 오버로딩은 자바 프로그래밍에서 중요한 개념으로, 한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 기법입니다.  1. 오버로딩의 조건 1) 메소드 이름: 오버로딩된 메소드들은 동일한 이름을 가져야 합니다. 2) 매개변수: 매개변수의 개수, 타입, 또는 순서가 달라야 합니다. 3) 반환 타입: 반환 타입은 오버로딩을 구분하는 기준이 되지 않습니다.  2. 오버로딩의 장점1) 코드 재사용성: 유사한 기능을 하는 메소드들을 하나의 이름으로 통일할 수 있습니다. 2) 가독성 향상: 여러 메소드를 각각 다른 이름으로 정의하지 않아도 되어 코드의 가독성이 높아집니다. 3) 유지보수 용이성: 비슷한 기능의 메소드들이 하나의 이름으로 모여있어 유지보수가 쉬워집니다. 4) 다형성 구현: 같은 이름의 메소드를..

JAVA/이론 2024.12.12

25. [ JAVA ] Gette/ Setter 의미와 사용 이유

Getter와 Setter는 객체 지향 프로그래밍에서 중요한 역할을 하는 메서드입니다.  1. Getter와 Setter의 의미 1) Getter: 객체의 private 속성 값을 외부로 반환하는 메서드입니다. 주로 get이라는 접두사를 사용하여 정의됩니다. 2) Setter: 객체의 private 속성 값을 설정하거나 수정하는 메서드입니다. 일반적으로 set이라는 접두사를 사용하여 정의됩니다.   2. 사용 이유 1) 정보 은닉과 캡슐화객체의 내부 구현을 숨기고 인터페이스를 통해 접근하도록 함객체의 무결성을 보장하고 데이터를 안전하게 관리2) 데이터 검증 및 제어Setter를 통해 속성에 할당되는 값의 유효성을 검사 가능잘못된 값 할당을 방지하여 객체의 일관성 유지3) 유연성 및 확장성내부 구현 변경 ..

JAVA/이론 2024.12.12

23. [ JAVA ] 클래스(Class)와 객체(Instance) : 예시

1. 클래스&객체  - 예시  1) 예시  조건 1.  main 함수에서 Stdent 클래스를 통해 2개의 학생을 만들고, 데이터를 입력하세요조건 2.  김태희, 90,95,100조건 3.  원빈, 80,90,70  public class Student {    String name;    int kor;    int eng;    int math;//총점을 리턴하는 함수    int sum(){        int sum = kor + eng + math;        return sum;    }//평균을 리턴하는 함수    double avg(){        double avg = ( kor + eng + math )/ 2.0;        return avg;    }}   public clas..

JAVA/실습 2024.12.12

22. [ JAVA ] 클래스(Class)와 객체(Instance)

1. 객체 지향 프로그래밍(Object-Oriented Programming, OOP)   객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그램을 객체 단위로 구조화하고 설계하는 프로그래밍 패러다임입니다. 이 방식은 데이터와 해당 데이터를 처리하는 메서드를 하나로 묶어 객체를 만들고, 이러한 객체들이 상호작용하며 프로그램을 구성합니다.1)  객체 지향 프로그래밍의 주요 특징(1) 추상화(Abstraction): 복잡한 내부 구현을 감추고 필요한 기능만을 외부에 노출합니다. (2) 캡슐화(Encapsulation): 객체의 상태와 행동을 하나로 묶고, 외부 접근을 제한하여 데이터의 무결성을 유지합니다. (3) 상속(Inheritance): 기존 클래스의 속성과 메서드..

JAVA/이론 2024.12.10

21. [ JAVA ] 함수 (fanction)

1. 자바 함수(fanction) 의 기본 구성 1) 함수(fanction) 정의함수(fanction) 를 정의할 때는 접근 제어자, 반환 타입, 함수 이름, 매개변수 목록을 포함합니다. 예를 들어, 두 수를 더하는 함수를 정의하려면 다음과 같이 작성할 수 있습니다. add( int num1, int num2 ) { int total = num1 + num2; return total; // 결과를 반환 ( 리턴 타입 ) } 여기서 int는 반환값의 타입을 의미하며, add는 함수의 이름입니다. num1과 num 2는 매개변수입니다. (1) 접근 제어자( 접근범위 ) - public :..

JAVA/이론 2024.12.10

20. [ JAVA ] 배열(array)

1. 자료구조 (Data Structure)자료구조는 컴퓨터 프로그램에서 데이터를 조직화, 저장, 조작하기 위한 특별한 형식입니다. 데이터 요소 간의 관계와 수행 가능한 연산을 정의합니다. 1) 자료구조의 유형선형 구조: 요소가 순차적으로 배열 (배열, 연결 리스트, 스택, 큐)비선형 구조: 순차적이지 않은 요소 배열 (트리, 그래프) 2) 주요 특징데이터 저장 및 구성효율적인 데이터 처리 및 조작메모리 관리빠른 접근을 위한 인덱싱 3) 대표적인 자료구조 배열: 동일한 타입의 고정 크기 요소 모음연결 리스트: 각 노드가 다음 노드를 가리키는 순차적 구조스택: 후입선출(LIFO) 원칙큐: 선입선출(FIFO) 원칙트리: 루트 노드와 자식 노드를 가진 계층적 구조그래프: 노드와 간선으로 연결된 구조 ..

JAVA/이론 2024.12.09
반응형
home top bottom
}