혜니니의 공부방

교내 자바 특강 day3 본문

공부 기록/자바 프로그래밍 기초

교내 자바 특강 day3

니니혜 2021. 1. 15. 20:04

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
Comments