꾸준히 안타치기

클래스 타입과 Static / final / abstract 본문

CS/JAVA

클래스 타입과 Static / final / abstract

글자줍기 2021. 11. 19. 02:25
반응형

 레퍼런스 변수와 기본형변수 

https://youtu.be/aJFrq24feag?list=PLyebPLlVYXCiKweTN4a-xePbbY1Ta6Yu9 

 


레퍼런스란 무엇일까?

자바타입의 큰범주 카테고리

 

레퍼런스형은 - 클래스타입, 사용자정의형 타입이라고도 하며 => 객체연결을 위한 타입이다. 대문자로 시작.

기본변수는 값을 직접가진다. 소문자로 시작.

 

변수란 - 변하는 값을 담을  있는 공간이다 변수는 타입과 크기가 있고 그에 적합하게 써야한다

기본형 변수/ 8가지 타입

논리형 : blooean (true, false)

문자형: char 변수당 하나의 문자만을 저장

정수형:  byte(이진데이터) 색상정보나, 파일 이미지를 처리할때 사용된다.

            short

             Int

             long(int보다 큰단위일 때 사용)

실수형:  double(소수부분15자리 까지 표현), float(소수부분 6자리까지 표현)

 

참조형 변수

참조데이터형(reference) String, Hero, int[], System..무조건 4바이트

8개의 기본형을 제외한 나머지 타입, 객체의 주소를 저장한다. 

8개의 기본형 변수를 사용하여, 사용자가 직접만들어 사용하는 변수를 의미

 

특정객체를 간접적으로 가리킴 (String은 문자열을 다루는 클래스) 스트링은 자주쓰이고 중요해서

기본형처럼 쓰인다.

 

new를 사용해서 객체를 만드는 모든 데이터 타입이 참조형이다.

 

타입이름이 클래스인 것은 모두 참조 변수이다. 클래스는 사용자가 만들어사용.

 


 fields(상태)
클래스 static 변수 인스턴스 변수
- 공유를 위한 객체 외부 변수  - 객체 내부에 존재하는 변수 

 

methods(동작)
클래스 메소드 인스턴스 메소드
 -  static methods 클래스가 동작시키는 메소드
- > 간편한 기능구현에 유용,  ex)Math.random();

주 객체가 없어도 수행가능 
- non-static methods 특정객체의 동작 구현시 유리 
->hero1.punch(hero2);

객체가 존재 

 

 

Static 공유의 개념이 담긴 키워드


 

https://youtu.be/Fl4TzjPKAMU

https://youtu.be/hvTuZshZvIo

https://youtu.be/Hmu7YH8AXmI

접근 제어자 - public , protected, (default), private

Static - 클래스의 , 공통적인의 의미

static - (공통, 공유), 인스턴스 멤버 사용불가(iv 멤버들은 객체를 만들고 나서야 사용할수 있어서 사용불가), 인스턴스 생성없이 사용가능.

final - 변경(추가, 삭제 등) 불가.

abstract - 추상화. 추상클래스 - 추상메서드를 가지고있는 클래스. 추상메서드 - 구현부가 없는 메서드. 상속을 통해 추상클래스를 완성 시킨 후에 객체생성가능.

https://youtu.be/1KWeVXC3wPQ

 

 

Final - 마지막의, 변경될수 없는

변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 된다.

final이 붙으면, 오버라이딩을 통해 재정의 될 수 없다. 

 

abstract - 추상의, 미완성의

추상클래스란? 추상매서드를 가지고 있는 클래스를 추상클래스라고한다.

추상매서드는 미완성 매서드다. 왜? 몸통이 없기때문에 / 선언부만 있고 구현부가 없다. 미완성 설계도 

추상매서드가 있다면, 추상클래스를 상속받아서 완전한 클래스를 만든 후에 객체가 생성이 가능하다. 

 


 

반응형

'CS > JAVA' 카테고리의 다른 글

자료구조공부  (0) 2021.11.21
Hashmap  (0) 2021.10.25
접근 제어자 private / getter, setter  (0) 2021.09.23
*****array /List - ArrayList  (0) 2021.02.23
if / while / do while  (0) 2021.02.19
Comments