01-17 학습!
자바의 기초 타입
B S I L F D boolean char
getter setter mutator
생성자 -> return없는메소드스타일
오버로딩 잘 만들어 진 생성자 활용
this 생성자 부르기
static 객체 생성 안하고 쓸래!
getter 얕은 복사
깊은 복사는 언제해야 할까?
원래 값을 남겨놔야 할 때 같은 특수한 경우만!
4대 메소드 (Object)
tostring
getclass 타입주소
hashcode
equals
모든 객체의 equals 값은 같을 수 없다 -> new로 생성하면 전부 다 다름
-> hashcode를 비교하는데 같을 수 없음
근데 같은게 하나 있음 string 참조인데 원래 얕은 copy 였는데 엎어침 deep copy 하도록 (오버라이딩)
그래서 equals true가 나올 수 있음
주의! 상속해도 안되는거 private 생성자는 못 물려받음
추상메서드 구현 안한거 이거 조심해 자식들아
Body없음 abstract
인터페이스 abstract 는 내용없는 메서드, 클래스가 있음
이거 구현 안했어!~~~
그니깐 구현 강제로 해서 사용해야 해
메모리특징
자생부생 자식이 생성되면 부모도 생성된다 (heap)
자설부설 자식의 설계도가 올라가면 부모의 설계도가 올라간다 (static)
생주부주 생성된 주소는 부모의 주소다 (hashcode), (Object의 주소)
설공메사 설계도에 공개된 메서드만 사용할 수 있다.
다형성
부타자생 부모의 타입으로 자식을 생성할 수 있다.
부타자참 부모의 타입으로 자식을 참조할 수 있다.
부메자호 부모의 메서드를 호출하면 자식의 메서드를 호출한다. virtual poly 뭐시기
(설계도는 부모것만 heap에는 자식과 부모 둘다)
오버라이딩은 모든 것이 똑같은 상속된 메서드
초기화는 부모부터 시작됨 -> super 를 코드 상단에 적어서 부모 초기화 먼저 해야함
은닉화 단계
1단계 private
2단계 protected
3단계 abstract interface
interface 구현 강제!
abstract class 되는 방법 4가지 있음
1. interface에 있는데 구현 안했을때
나머지는 공부하면서 알아보자
알고리즘
재귀 사진 보고 학습!
오늘 배운 내용들이 너무 알차다 집가서 전체적인 복습!
복습 하는 방법 -> 마방진 백준 코드 보고 객체지향방식으로 돌아가게 분리시켜보기
별찍기 20번까지 다 풀어보자!
정처기 실기까지