본문 바로가기

IT To do and To was

22년 1월 18일_java 8일 중 3일이 됐다..

728x90
반응형

화요일[심쿵이 좋은 심쿵일까?]

 

1. java 배운 거 cheak

2. 방과후 추가 수업 (inflearn)

3. 느낀점과 오늘의 한줄평

 

1. java 배열과 클래스

 

string = new String("java") 중 new는 heap메모리에 생성되는 것, java문자열을 추가하며 주소를 stack에 저장

쓰레드란 실행단위 쓰레드 마다 stack이 할당됨

referce data type == referce data type 

= 주소값을 비교

primtive data type == primtive data type

= 값을 비교

 

String만 pool이라는 메모리를 제공

String 클래스는 불변 문자열을 위해 설계된 클래스,

Sting Buffer클래스는 가변 문자열을 위해 설계된 클래스

 

-------------배열-----------

refercetype선언, 생성, 초기화 과정에서 

int []nums;

int[] nums;

int nums[]; 셋다 상관이 없음

 

또한 하나의 변수로 동일한 타입의 값을 참조, 생성시 size를 선언, 배열은 멤버 객체, 로컬객체로 size생성만해서 생성되더라도 default초기값으로 초기화 됨.(하.. 강사님 뭐라고 하는거야..알아듣게 설명좀..ㅜ)

nums = new int[5]라고 기재하면 5이상은 추가할 수 없음.

nums = new int[5];  //생성, default 초기값으로 초기화됨, 1차원 배열
nums = new int[]{100, 200, 300}; // 생성, 명시적 초기화, 1차원 배열
#2차원배열 - 1차원 배열을 1개 이상 구성한 배열
int[][] nums;
int[] nums[];


nums = new int[5][5];
nums = new int[5][ ];//행 길이 고정, 1차원 배열의 size는 동일하지 않아도 됨
nums = new int[ ][5 ]; //컴파일 오류
nums = new int[ ][ ] {  {1},
                                {1, 2},
                                {1, 2, 3 },
                                {1, 2, 3, 4}
                              };

------------------클래스---------------------

클래스 :  메모리에 객체를 생성하기 위한 설계도
객체 : 현실세계의 유형, 무형의 존재하는 어떤 것 => 소프트웨어적으로 관리대상 
         속성(상태를 저장)과 동작(기능, 속성을 사용하여 동작)으로 구성
         software building block
객체지향 언어 :  객체들로 조립 (객체들을 연결할 때 영향을 최소화하기 위해 느슨한 결합 형태로 구현 권장)

#자바는 객체지향언어이기 때문에 class단위로 구현
※객체지향언어 특징 : 상속, 캡슐화, 다형성

클래스(설계도) 구성 요소 :
클래스선언, 멤버변수(속성), 멤버메서드(기능), 생성자메서드

※자바는 클래스 상속은 단일 상속만 지원

클래스 선언 문법 :
접근제어자  [변경자]  class  클래스이름 {...} //자동으로 java.lang.Object를 상속받습니다.
접근제어자  [변경자]  class  클래스이름 extends 부모클래스명   {...}
접근제어자  [변경자]  class  클래스이름 [extends 부모클래스명]  implements 인터페이스명, 인터페이스명, ... {...}
#클래스 선언 가능한 접근제어자(Access Modifier) : public, (default)
#클래스 선언 가능한 변경자(Modifier) : class의 종류(타입)을 의미합니다. abstract, final


클래스의 멤버필드 선언 문법 : 
접근제어자 [변경자]  타입  field명 ;
접근제어자 [변경자]  타입  field명 = 초기값;
#클래스의 멤버필드 선언 가능한 접근제어자(Access Modifier) : public, protected , (default) , private 
#클래스의 멤버필드 선언 가능한 변경자(Modifier) : final,  static  , transient, volatile
클래스의 기능 메서드 선언 문법 :
접근제어자  [변경자]  리턴타입 메서드이름([타입 변수, 타입 변수,...]) {....}
#멤버 메서드에 선언 가능한 접근제어자(Access Modifier) : public, protected , (default) , private 
#멤버 메서드에 선언 가능한 변경자(Modifier) : final,  static  , abstract, synchronized, native 
#멤버 메서드에 선언 가능한 리턴타입 :  primitive data type, reference data type, void

클래스에 선언가능한 멤버변수 종류 :
1. 인스턴스변수 : 객체마다 서로 다른 고유한 상태값을 가져야 할때
2. 상수 : 반드시 초기화가 필요하며, 변경 불가능한 상태값을 가져야 할때
3. 클래스변수 : 동일한 클래스로부터 생성된 객체들이 공유해야 하는 공유변수(전역변수)
                     클래스변수는 객체 생성없이 클래스이름으로 사용 가능
                      멤버가 아니더라도 static메서드에서 사용 가능
                      Constant Pool 메모리 영역에 단 하나의 변수가 생성됨

 

2. 추가 교육은 개뿔... 과제 내주신 거 하느라 다른 걸 못하겠다..

 

3. 오늘..

오늘은 부모님한테 말을 했는데 반응이 너무 안좋아서 기분이 너무 안좋았따.

그 상태로 수업을 들으니 집중이 원래도 안좋았지만 오늘도 좋지 못했다.. 내일은 좀 더 집중을 잘 할 수 있길.

 

tomorrow wish list

 

. 엄마랑 한마디 정도 나누기

. 기분풀기

. 방과후 수업 효율적으로 임하기

728x90
반응형