화요일[심쿵이 좋은 심쿵일까?]
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
. 엄마랑 한마디 정도 나누기
. 기분풀기
. 방과후 수업 효율적으로 임하기
'IT To do and To was' 카테고리의 다른 글
22년 1월 20일_추상클래스, 학교 과제 (1) | 2022.01.20 |
---|---|
22년 1월 19일_바쁘네..ㅎ, java overload (0) | 2022.01.19 |
22년 1월 17일_java 2번째, 이것이 자바다 강의 시작(매일 수업 끝난 후 책에서 나온 무료강의 보기 start!) (0) | 2022.01.17 |
22년 1월 16일_React 2일차, 모니터 구매 (0) | 2022.01.16 |
22년 1월 15일_19, 웹앱 프로그래시브 책 정리, 하고싶은 분야 select (0) | 2022.01.16 |