출처: https://bumcrush.tistory.com/182 [맑음때때로 겨울]
반응형

1. Literal(리터럴) -> 변수라는곳에 저장되어 사용되는 값.

2.명시 형변환 : 큰수의 값을 작은 타입으로 명시적으로 변환할 때 사용한다.
 ex) int a = (int) 98.7;     a=98 로 들어간다. 소수점 뒷자리 버린다.
 묵시 형변환 : 작은 수의 값을 큰 타입으로 변환할 때 자동으로 형변환 된다.
 ex) double d = 100; 100.0 으로 입력됨. 

3. 오버로드 - > 단일클래스 안에 같은이름의 메소드가 타입 or 개수가 다르게 선언하는것.

4. class 원칙 : 멤버 (상수, 변수(이너클래스) / 메소드(생성자, 메소드));
          *은닉(private)된 멤버변수에게 오픈(public)된 메소드를
           통해 값을 전달 및 변경(void형 setter) 하고 리턴(return형 getter)하는 구조

5. class 생성자란?       U_Test u1 = new U_Test

     1. 클래스 이름과 동일 하되 반환형은 없어야한다.
     2. 모든 접근지정자를 사용 할 수 있다.
     기본은 public으로 지정한다.
3. 생성자는 원형은 메소드 이지만 반환형이 없기때문에
메소드 처럼 호출할 수 없다.
4.객체를 생성할 때 단 한번만 호출되며 new 연산자와 함께 
사용된다.
5. 생성자는 overload 할 수 있다.
6. 생성자는 상속되지 않는다.
7. 생성자 간의 호출은 this()라는 키워드로 한다.
8. 생성자의 목적은 객체 생성 후 멤버변수 초기화에 있다.
9. 생성자를 명시하지 않으면 ()안에 매개인자가 없는
default 생성자가 제공된다.
10. 생성자를 명시학 되면 명시된 생성자만 호출되어 진다.

6. java 의 멤버변수 (메서드안 선언된 메서드) 는 은닉화 되어있다.

7.추상 클래스 문제푸는거 꼭 알아두기
객체 주소가 같아서 동적바인딩이다.

======================================================================================
자바 정리
자바 특징 = 1. 클래스 2. 상속 3. 다형성

1. 멤버변수 은닉 풀캡슐화 (private)
자바가 다른언어와 다른점은풀캡슐화 가능하다 private로


2. 모든클래스는 기본적으로 생성자를 가진다. 

3. 클래스간 상속은 단일상속을 원칙으로한다.
   인터페이스는 다중상속이 가능하다.(자기들끼리도 다중상속 가능)
   다형성의 원칙을 가진다.(1. 오버라이드 2. 동적 바인딩) -> 동적바인딩을 하기위해 오버라이드를 한다.
   
4. 인터페이스 = 메뉴판 접근제한자 abstract 없다 왜냐? 기본적으로 들어가있기 때문 
현재 내가 이해한 인터페이스와 abstract 차이점 
1. interface -> 모든 변수와 메소드가 추상클래스로 들어가있어서 모든걸 오버라이드해서 사용해야함

----> 생성자가 없다 인터페이스는
2. abstract  -> 정의 되어 있는 메소드가있고 abstract 된 메소드들은 재정의 해서 사용해줘야한다.
  ----> 메서드의 Name밸류때문에 재정의 해서 메서드 사용한다.
----> 재정의 하지 않으면 추상클래스가 된다.
----> 객체 생성 불가능
----> 설계된 메서드가 7개면 하나만 사용도 가능하다. 일회용으로



AA b1 = new BB();
((BB)b1).View() -> 다운캐스팅 해줘야 BB에 있는 클래스메서드를 찾아간다.

동적바인딩은 b1 주소를 돌려쓰는거
ex) AA b1 = new DD(); AA b1 = new CC();  

반응형

+ Recent posts