GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

Back to the Java 36

abstract 클래스-메소드 / super 메소드-생성자

=> 클래스/메소드 abstract 메소드 - 선언부만 있고, 구현부 X 메소드 하나라도 abstract 면 클래스도 무조건 abstract abstract class 도형{ abstract void 면적( ); //여기까지만 쓰는게 선언만 하는 것 public void ( ) { sout } } // 다른 일반 메소드 O => abstract 는 "상속" 해서 => 구현 해서 사용한다. 모든 abstract 메소드 구현이 필수 (overriding) class 사각형 extends (abstract)도형{ @Override void (abstract)면적 ( ) { 가로 * 세로 ; } } 여러개의 서로다른 클래스 내부에 필수적으로 구현해야할 공통메소드 정해놓는것 ( 필수구현 보장 ) (각자 필요에 따..

Back to the Java 2022.06.27

상속과 Override, 상속을 막는 final 메소드와 final 클래스.

"클래스"는 extends 클래스 단일상속만 가능 (두개 불가능) "인터페이스"는 extends JpaReposit , StudentReposit { } 동시 상속 가능 //클래스는 단일상속밖에 되지 않는 한계에 대해 해결책 - 면접질문 1. 객체화를 이용한다. 2. 인터페이스로 돌려서 이용한다. 1. 상속해서 사용 ~이다 ( is ) 관계 => 상속을 사용 (ex. 학생은 사람이다 // 즉 완전한 포함관계) 2. 객체생성 해서 사용 가지다 (has) 관계=> 객체화 사용 즉, 특정 기능만 가져오고 싶을때! (ex. 운전자는 자동차의 특정 기능만 가진다. O => 객체 O) - 상,하위클래스 동일명 변수 존재하면 하위클래스(현재클래스)에서 선언된 변수가 우선..

Back to the Java 2022.06.27

클래스 안의 클래스 Inner class <- Outer class 에게 허락을 맡아라

class B{ } 만들어두면 다른 클래스들에서 모두 B b1 = new B( ); 객체 생성해서 쉽게 사용가능 근데 일단은 나만 쓰고 싶다. 다른 클래스에스 쓰고싶으면 나한테 허락맡고 쓰게하고싶다? => 내부클래스로 만들면 된다. class Outer{ int i = 10; class Inner { int j = 20; void innermethod( ){ System.out.println(j); } } static class Inner2{ static int k =30; } //outer 메소드 void outermethod(){ class Inner3{ //지역변수로 쓰이는 이너클래스. => 이 메소드 내부에서만 사용 가능 int n = 40;} } } < Inner class..

Back to the Java 2022.06.27

생성자 Constructor / vs GetterSetter / this

class Member{ public Member( ){ } //생성자 (기본생성자) default 값 => 이게 있어야 클래스로 객체 생성할때 (생성자) Member m1 = new Member( ); this ( id, name, pay, "부서이동중", "발령이전" ); //현재클래스의 다른 생성자 호출해서 재사용 5개 꽉차있는 다른 생성자로 가져와라 ) .title VS .getTitle(); 엔티티에서 private 로 설정해두면 그 안에서만 .title 사용가능 다른 클래스에서 객체로 가져와서 사용할때는 .title 불가능 대신 가져올수 있는 방법을 메소드로 열어놓음 그게 getTitle 게터. Getter Setter 으로 하면 객체의 각 부분별로 뽑아서 쓸 수 있다 - 장점 하지만, 객체 ..

Back to the Java 2022.06.24

Modifier - 접근제어자 / static / final / +싱글톤

- 클래스, 변수, 메소드, 생성자를 선언할 때 앞에 붙어서 "접근가능한 범위" / "활용방법" 을 지정해주는 예약어들 클래스 변수 메소드 생성자 1. 접근제어자 public o o o o protected x o o o private x o o o - 다른 클래스의 변수나 메소드 등을 가져와서 사용할 때, 그 클래스 객체를 만들어서 사용하고자 할때도, 제한이 있다. => " 접근제어자 " private - 현재 클래스 내부에서만 사용 가능 / 객체 만들어도 못가져옴 => 쓰고싶으면 메소드로 가져가라 default(패키지상태) - 현재 클래스 + 현재 패키지 내부 사용 가능 protected - 현재 클래스 + 현재패키지 + 다른 패키지에서 상속받은 클래스 public - 무제한...

Back to the Java 2022.06.23

참조형 DataType, Stack 과 Heap 메모리 저장

1. 기본형 데이터타입 - 메모리타입과 크기 정해져있음 boolean char int(byte short long) double(float) 2. 참조형 데이터타입 String / 배열 1> 저장 특정 위치 - 주소(번지) 지정 불가 / 알 수없다. 2> heap 영역 데이터 필요없으면 ( s; 처럼 사용하고난 후 이제 안씀 ) =>메모리 자동정리 ( Garbage Collection ) 3> 자바의 모든 변수들은 stack 에 저장한다. 단, stack 에 들어가는 변수가 참조형 변수 일 경우, 주소만 stack에 저장하고, 실제 데이터는 heap 에 저장한다. => 변수 선언 순서대로 저장 // 고정된 크기..

Back to the Java 2022.06.22

while + true + if + break; 조건 나중에 주기!

int dice1; int dice2; int dicesum; while (dicesum != 5){ dice1 = 1; dice2 = 2; dicesum = dice1 + dice2; } 변수 값을 어디에서 선언하는지는 매우 중요하다. 위의 경우, 반복문 바깥에서 변수들을 선언만 했고, while 의 조건으로 가져온 dicesum 은 구체적 값이 나중에 정해지기 때문에, (아직 null 인 상태) 조건을 줄 때 사용할 수가 없다. do-while 문의 경우엔 do { } 문에서 여러 변수들의 값이 구체적으로 선언 된 이후에 while 조건을 정하기 때문에 조건을 줄 때 그나마 편하게 변수들을 사용할 수 있다. 하지만 무조건 최소 한 번은 실행되는 do-while 문의 특성. (조건을 충족했던 안했던) ..

Back to the Java 2022.06.22

Back to the Basic 기본을 다잡자 2

java ME (Mobile environment ) => android , 모바일 java SE (Standard environment ) => desk top 환경 -> java application 이용 / 반드시 main 메소드 이용 / java EE (Enterprise environment ) => 웹서버환경 자바실행 / sevlet jsp spring mvc / jdk + 웹서버tool / - else 에는 "if 가 아니다" 뜻이 포함이 되있다. if (grade >= 90) { System.out.println(grade + "점으로 A 입니다."); } else if (grade >= 80 && grade < 90) { // 이때, else 라는 뜻에 90이상이 아니라는..

Back to the Java 2022.06.21

Back to the Basic 기본을 다잡자

int a= 100; int b = 200; sout ( " result =" + a + b ); => result=100200 // 왼쪽부터 더해서 result=100 문자열이 되버리고 거기에 200이 더해짐 => 괄호처리 필요 char c1 = 'A'; sout ( 100 + c1 ) ; => 165 ( 100 + 65 ) // A라는 char 는 표현코드값이 숫자로 65다. ( B는 66 C는 67 . . . ) // 더하라고하면, c1 을 자동형변환 해서 숫자로 바꿔서 더해버림 => 자동형변환 sout ( a + "" + c1) => 100A 출력 . // "" 이용해서 구분해서 출력 가능하다 < ..

Back to the Java 2022.06.21