오늘의 노래 추천 🐝
- 아티스트
- MAVE: (메이브)
- 앨범
- MAVE: 1st EP 'What's My Name'
- 발매일
- 1970.01.01
메이브님들 노래 다 들어요 솔직히 좋다
pandora만 반복재생하던 때가 있었는데 아는 언니한테 말하니까 실화냐는 표정으로 보더라고요(대체왜)
DAY 10
** 생성자 **
constructor method
생성자 목적
1. 객체가 생성될 때 필드의 초기값 지정
2. 객체가 생성과 동시에 초기작업 실행 가능
생성자의 특징
1. 생성자 이름은 항상 class 와 동일함
2. 생성자도 method 임 (리턴타입이 없음)
접근제한자
ㅡ> 캡슐화

VO (Value Object)
객체를 값으로써 사용하는데 목적인 객체 ( 데이터 자체를 표현 )
VO의 특징
로직 메서드 부재 (field만 존재)
private를 사용해 데이터에 대한 불변성 보장
값의 동등성 보장

** 상속 **
Inheritance
기존 class의 변수(데이터)와 메서드(로직,코드)를 물렵다아 새로운 클래스를 구성하는 것
super class ㅡ>(상속) sub class
+재사용성
+추가기능
public class sub class extends super class ( ) {
}
extends 는 확장한다는 의미
class 를 선언하는 구간에 작
ㅡ 상속의 특징 ㅡ
다중상속 X
상속 횟수 제한 X
* 모든 class는 java..lang.Object 를 상속받음 *

ㅡ 상속의 필요성 ㅡ

1. 기존 class의 변수와 코드를 재사용함으로써 중복이 감소하고 간결
2. 선작성된 검증된 프로그램을 재사용해 신뢰성있는 프로그램 작성
3. 클래스간 계층적 분류 및 관리로 유지보수가 용이
[ 상속 실습 ]
ㅡ 동물 분류 상속 ㅡ
class 분류
Animal
포유류, 조류, 어류
개, 고래, 고양이, 닭, 비둘기, 연어, 상

* 하위클래스명 extends 상위클래스명


포유류 class에서는 alive method가 존재하지 않지만 상위 클래스 Animal의 method를 상속받음
" A > a > ㄱ" 순서로 상속받았을 경우,
'ㄱ' class는 A의 1, 2, 3과 a의 4, 5, 6를 모두 상속받을 수 있음

연어 class는 Animal과 어류 class를 모두 상속받음
ㅡ Parents Child 상속 ㅡ

상위클래스


메소드 오버라이딩을 한다면 새롭게 정의된 기능을 사용
상속을 사용했을때, 부모클래스의 메서드를 재사용 하는것이 가능
* 오버라이딩이란?
Overriding

그럼 오버로딩은?

* 메소드 오버라이딩 *
super class가 가지고 있는 메소드를 그대로 가져와서(리턴타입, 메소드명, 매개변수)
중괄호{} 안의 로직(알고리즘)만 "재정의" 하는 기법

* 객체 casting (형변환) *
기존 데이터 타입을 다른 데이터 타입으로 변환하는 것
(소괄호 이용)

up casting
하위 class가 상위 class 타입으로 자동 타입 변환하는 것(다형성)
객체 내 모든 변수, 메서드에 접근할 수 없고 상위 class의 변수, 메서드에만 접근 가능
* 단 오버라이딩 한 경우 하위 클래스의 메서드를 호출
down casting
업캐스팅 된 객체를 강제 타입 변환으로 원상복구하는 것
* 업캐스팅된 객체가 아닐 경우 compile error

** ArrayList **
보편적으로 많이 사용하는 collection list

* 인터페이스 형태
크기가 고정적이지 않고 가변적
원하는 위치의 추가 및 삭제가 용이
ArrayList < object > 변수명 = new ArrayList < object > ( ) ;


3:16정도 설명
[ ArrayList 실습 ]





[ ArrayList 예제 ]

ㅡ 배열에 객체 넣기 ㅡ


ㅡ ArrayList에 객체 넣기 ㅡ

배열에 값을 넣어주는 문장을 ArrayList 에 값을 넣어주도록 바꾸기만 하면됨
[ ArrayList 에 값 넣어주기 ]
ArrayList<Student> stds = new ArrayList<Student>(3);
stds.add(new Student("박소희", 50));
stds.add(new Student("박지은", 150));
stds.add(new Student("허재혁", 250));
stds.add(new Student(name, score));

* array와 ArrayList의 사용법 차이
배열에서 데이터를 넣어주는 방법 : 변수명 [index] = 값 ;
ArrayList 에서 데이터를 넣어주는 방법 : 변수명 .add (값) ;
* 배열과 ArrayList 의 공통점
둘다 for each를 이용하면 바로 데이터를 꺼낼 수 있음


뿅
'JAVA' 카테고리의 다른 글
DAY 12 ( MP3Player 실습, MVC 패턴 실습(refactoring), JDBC ) (0) | 2024.06.04 |
---|---|
DAY 11 ( 추상클래스, 인터페이스, MVC, jar 파일 추가, mp3 불러오기 실습 ) (0) | 2024.06.03 |
DAY 9 ( method, 객체지향(OOP), OOP 실습, 부록 : 메모리) (0) | 2024.05.30 |
DAY 8 ( 이차원 배열, 실습 예제, 메소드(method), 오버로딩, aespa 노래추천 ) (0) | 2024.05.29 |
DAY 7 ( 반복문, 이중 for문, 배열 array, index, 실습 예제 ) (0) | 2024.05.28 |