자바 공부를 시작했습니다.
만드는 게임의 DB를 한번 만들어보고 싶은데 자바가 백에서 1타라 해서요.
15일 기초 끝내기! 기록
15일차 (1/2) - 못할줄알았다정은체
자바정복 정권지르기 1일차 (12/19)
자바 소개와 변수와 자료형 공부
C와 유사합니다
리터럴~ 식별자 유의~
자바정복 정권지르기 2일차 (12/20)
연산자와 제어흐름 공부
C와 유사합니다 파이썬 최고
- 비트연산자를 쓸 일이 있습니까? 정말 궁금해서 하는 말입니다.
자바정복 정권지르기 3일차 (12/21)
-객체 지향이라는 것을..
코드의 재사용성이라는 장점을 우리 게임 코드에 적용하고 싶기 때문에..
클래스/객체 열심히 때려보겠습니다.
클래스는 구조체 공용체랑 비슷하게 생깅. 어케다른지?
이름규약
클래스명 대문자시작
상수명 전부대문자
패키지명 전부소문자
변수명.메서드명 소문자시작
public클래스명 == 자바파일명
클래스형 객체자료형 참조자료형
함수호출/ 지역변수 -> 스택 메모리
인스턴스 ->힙 메모리
클래스 생성 > 생성자(==클래스 이름)
디폴트 생성자 / 직접 구현
접근 제어자
정리
객체(생성된 인스턴스)
패키지
클래스(객체를 프로그래밍하기위한 코드)
멤버변수(클래스속성). 메서드(클래스기능)
인스턴스(참조변수.스택메모리->힙메모리) 참조값(인스턴스메모리주소값)
new예약어
생성자(인스턴스 변수의 초기화)
자바정복 정권지르기 4일차 (12/22)
this 예약어
static변수(정적변수 클래스 변수)
클래스 메서드
유효범위
지역변수- 함수 내(스택메모리)
멤버변수(인스턴스변수)-클래스의 메서드 내( 힙메모리)
클래스변수 - 데이터영역 메모리(항상)
자바정복 정권지르기 5일차 (12/23)
- 크리스마스 케이크만들.. 목표치 달성 실패..
자바정복 정권지르기 6일차 (12/24)
+ 기록한 것 날림~
- 크리스마스파티.. 목표치 달성 실패 22..
자바정복 정권지르기 7일차 (12/25)
배열
객체배열
얕은 복사 깊은 복사
향상된 for문
다차원 배열
ArrayList 클래스
JavaDoc 확인하기
상속과 다형성
클래스 상속
protected 예약어
- 메리 크리스마스~
자바정복 정권지르기 8일차 (12/26)
상속에서 클래스 생성/형 변환
-인간은 나약합니다
나만 나약할수도
내일 3일치합니다
자바정복 정권지르기 9일차 (12/27)
A extends B
자바는 다중 상속 ㄴ
상위 클래스의 생성자 먼저 호출
super 예약어(상위 클래스의 주소) <-> this (자기 자신주소)
super() 상위 클래스 생성자 사용(매개변수 있는것
super. 상위 클래스 멤버 변수/메서드 참조
하위 클래스의 인스터스의 자료형을 상위 클래스형으로 형변환하여 사용 가능
Customer vc = new VipCustomer(); .......⍟
메서드 오버라이딩 -> 하위 클래스에서 메서드 재정의
@Override 애노테이션
가상 매서드
선언한 클래스형이 아닌 생성된 인스턴스의 메서드 호출 ( ⍟에서 재정의된 경우)
다형성
하나의 코드가 여러 자료형으로 구현되어 실행
IS-A 관계(일반적상황- 구체화) 에서만 상속 사용하기 -- 포유류->사람
IS-A 관계(한 클래스가 다른 클래스 소유) -- 과목->학생
다운캐스팅
상위 클래스로 형 변환되었던 하위 클래스를 다시 원래 자료형으로 형 변환하는 것
instanceof
- 1일치했다. 내일 2일치한다.
자바정복 정권지르기 10일차 (12/28)
추상 클래스
추상 메서드
abstract 에약어/ {} 없음
메서드 구현의 책임을 상속받는 클래스에 위임한다
- 상속받는 클래스가 추상 메서드를 다 구현하지 않을 시 얘도 추상 클래스
- 추상 클래스 인스턴스 생성 불가
템플릿 메서드
로직 흐름(시나리오 제어)
final 예약어
변수/클래스/메서드 사용 가능
재정의 불가(상수 / 클래스는 상속 불가 / 템플릿 메서드)
public static final (여러파일 공유 상수)
- 1일치했다. 내일 1일치한다.
자바정복 정권지르기 11일차 (12/29)
인터페이스 interface 예약어
변수는 상수로, 메서드는 추상 메서드로 인식
인터페이스를 구현한 클래스가 어떤 기능을 하는지 미리 알려주는 명세.약속의 역할
클래스에서 인터페이스 구현할 때
(extends 자리에) implements 예약어
추상 클래스가 되거나 추상 메서드 다 구현하기
- 맙소사 실패 반일치
자바정복 실패 12-14일차 (12/30 - 1 / 1)
- 연말이니까...
자바정복 정권지르기 15일차 (1/2)
인터페이스 상수
(인터페이스 내)
디폴트 메서드
인터페이스에서 구현한 메서드 (하위에서 재정의 가능)
default 예약어(public 들어오는 자리에)
정적 메서드
인스턴스 생성과 상관없이 사용할 수 있는 메서드 (인터페이스 이름 참조)
- ... 큰일
자바정복 정권지르기 16일차 (1/3)
- 15일 안에 못 끝낼 것을 사실 알고 있었지만, 조금은 기대를 했었는데...다음에는 과거의 내 기대에 부응하는 내가 되길 바란다.
한 클래스가 여러 인터페이스를 구현할(상속받을) 수 있음
인터페이스가 인터페이스 상속 가능함 ( extends)


객체지향에 대한 챕터가 끝난 김에 공부할 겸
내 중간 목표인 우리 게임 객체 지향적 코드로 바꿔보기를 해보았다. ( 최종목표는 백만들기^^)
왼쪽은 우리의 원래 코드였던 것(스크립트별 정리- 기능이 쫌 섞여있다)(수연아 짱)
오른쪽은 배운 걸로 고쳐본 코드 계획 ( 바뀐 기획 내용 추가)



아빠한테 물어본 거

천사멘토 정인님
열심히 공부해야함..
자바정복 정권지르기 17일차 (1/4)
자바 JDK
기본 클래스
Object 클래스
- 영어회화 춤모임 코딩동아리 코딩스터디가 있었으므로..
자바정복 정권지르기 18-19일차 (1/5-6)
- 우주 포스터를 만들어야겠단 결심을 갑자기..

자바정복 정권지르기 20일차 (1/7)
자바 JDK - 기본 클래스 (java.lang 패키지)
외부 패키지의 클래스를 사용할 떄는 import문으로 선언해야 함 (java.lang 패키지는 그럴 필요 ㄴ)
Object 클래스
모든 자바 클래스의 최상우 클래스(모두 object 클래스 상속받음)
- toString() 메서드
객체 정보를 문자열로 바꿔 줌
인스턴스의 클래스 이름과 주소 반환
( String/Integer클래스에서 재정의되어있음 - 값만 출력)
- equals 메서드
두 인스턴스의 주소 값을 비교하여 boolean 값 반환
1) 인스턴스가 가리키는 주소가 같은 경우 (물리적 동일) - True
2) 주소는 다르지만 내용이 같은 경우 (논리적 동일) - 재정의를 통해 True 가능( String/Integer클래스에서 재정의되어있음)
-hashCode 메서드
객체가 저장되어야 할 위치나 저장된 해시 테이블 주소 반환
- clone 메서드
객체 원본을 유지해 놓고 복사하여 동일한 인스턴스를 만들어줌
사용하려면 클래스에 Cloneable 인터페이스를 구현해야 함
String 클래스
1) 문자열을 생성자의 매개변수로 하여 생성
2) 이미 생성된 문자열 상수를 가르키기
상수 값 저장 공간을 상수 풀 이라고 함 (2에서 사용)
- StringBuffer / StringBuilder 클래스
문자열 변경, 연결에 추가 메모리를 사용하지 않음 ( 변수가 final이 아님)
자바정복 정권지르기 21일차 (1/8)
Wrapper 클래스
기본 자료형을 위한 클래스
매개변수가 객체거나 반환 값이 객체형인 경우에 사용
기본자료형의 앞글자를 대문자로 바꾼 것 (integer -> Integer)
오토박싱 : 기본형을 객체형으로 바꾸는 것
언박싱 : 객체형을 기본형으로 바꾸는 것
Class 클래스
컴파일 된 class 파일에 저장된 클래스나 인터페이스 정보를 가져오는 데 사용
모르는 클래스의 정보를 사용할 경우
Class.forName() 동적 로딩하기
자바정복 정권지르기 22일차 (1/9)
컬렉션 프레임워크
자료 구조(데이터 관리)를 구현한 다양한 인터페이스와 클래스
제네릭
하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍하는 것
T - 자료형 매개변수 (static 사용 불가)
다이아몬드 연산자 - <>
- 갑작스러운 어려움에 정신을 못 차리는..
자바 계획을 재정립한다. 백준에서 자바로 문제를 좀 풀어야겠다.
자바정복 정권지르기 23일차 (1/10)
백준에서 자바 문제 풀기ing 서버 개념에 대한 공부 ing
continue..
https://replit.com/languages/java10
Java Online Compiler & Interpreter
Write and run Java code using our Java online compiler & interpreter. You can build, share, and host applications right from your browser!
replit.com
이클립스 사용중..
인텔리제이 사용 시작
'💾 Backend > 자바' 카테고리의 다른 글
💖자바 제네릭💖 (2) | 2023.05.19 |
---|---|
💖자바 예외‼️ 처리💖 (0) | 2023.05.11 |
💕객체 지향 공부 - 시나리오 작성💕 (2) | 2023.05.09 |
💖자바 JDK 제공 기본 클래스💖 (1) | 2023.05.09 |
💖객체지향 코딩하기💖 (0) | 2023.05.08 |