혜니니의 공부방
교내 자바 특강 day3 본문
day3
index
-생성자
-싱글톤 클래스 만들기
-다형성
-오버라이딩
private 생성자
:외부에서 직접 객체를 생성하지 못하도록 막는다.
내부에서 직접 생성해서 만들어주는 형태대로만 사용자가 사용할 수 있도록 하는거
private 생성자를 이용해서 싱글톤클래스를 만들때 사용한다.
*싱글톤 클래스를 만드는 방법
1) private 생성자를 작성
2) 현재 객체를 생성해서는 리턴해주는 메소드를 작성
3) 현재 객체를 생성하는 변수는 전역변수(필드)로 만든다.
public class Test{
// 생성자를 직접 작성하면.
private Test instance = new Test();
private Test(){ //외부에서 직접 접근안됌
return t;
}
// 현재 객체를 직접 생성해서 리턴해주는 메소드를 작성
생성을 직접 못하기 때문에 스태틱으로 해줘야함
public static Test getinstance() {
return instance;
}
/////////////
Test t = Test.getinstance();
Test t1= Test.getinstance();
생성자와 private을 제외한 다 상속이가능
부모는 하나만 만들 수 있지만 대물림은 가능하다.
- 자바의 모든 클래스는 object(class)를 상속받는다.
class A{
속성 메소드
}
class B extends A{
속성 메소드
}
class C extends B{
}
class Object{
속성 메소드
}
============================
다형성
1) 반드시 상속관계일 때 성립
A is a B - extends, inplement
A has a B - 멤버변수, 지역변수
반드시 상속이 있어야 사용가능.
주의: 부모타입 변수로는 자식 부분 접근 불가
부모와 자식 관계가 있을때 크기를 논할 수는 없지만
포괄적인 개념으로 봐야함.
사용할 수 있도록 하기 위해서는 오브젝트 다운 케스팅
반드시 상속관계일 떄만 오브젝트 다운 캐스팅이 가능하다.
따라서 주소값 변경을 위해 자식을 다운캐스팅해야한다.
다운캐스팅을 할때 인스테드오브로 확인을 하고 해야한다.
instanceof(연산자) > 결과값은 boolean
-반드시 상속관계일 떄 사용 아니면 컴파일 오류
-오브젝트 변수 Instanceof 오브젝트타입
-왼쪽 변수형이 오른쪽변수 서브
if ( 변수 instanceof Excel )
캐스팅할때는 instanceof를 같이 써야함.
-------------------------------------------------
오버라이딩 ( 재정의)
상속관계에서 부모 관계에 정의되어있는 변수를 자식클래스에서 재정의하는 것이다.
리턴타입 메소드 접근제한자 인수 다 같지만 기능은 달라야한다.
만약에 1이없고 2,3만이 싿면 자식생성자 구현부 첫째줄에서
api 상속 종류가 더 많음
그럴 경우 수퍼가 아닌 다른 생성자를 호출할 수 있도록 코딩.
this 나 super를 이용해서 다른 생성자를 호출할 수 있도록한다.
생성자를 작성하지 않으면 부모 생성자도 없기 때문에
==========================
print(Object obj) 혹은 println(Object obj)
메소드는 인수로 객체가 전달되면
자동으로 객체.ToString()메소드가 호출된다.
Object에 정의도이었는 ToString 메소드는
getClass().getName()+@인티저.toHexString(해시코드()) 형태의 주소값을
문자열로 만들어서 리턴한다.
String의 정의되어있는 toSTring 메소드는 문자열을 리턴한다고
재정의가 되어있다.
암기
문법임
>> 이건 뭘 리턴하나용
클래스 다이어그램
: 객체와 객체간의 관계를 나타냄.
is a :
1) 상속
2) 구현
has a:
1) 전역변수
2) 지역변수
'공부 기록 > 자바 프로그래밍 기초' 카테고리의 다른 글
교내 자바특강 day5 (0) | 2021.01.15 |
---|---|
교내 자바특강 day4 (0) | 2021.01.15 |
교내 자바특강 day2 (0) | 2021.01.12 |
교내 JAVA특강 day1 (0) | 2021.01.11 |
혼자 공부하는 자바 chap 01 변수 (0) | 2020.12.03 |