전체 글 224

2주차 8/8~8/13 WIL

14주 프로그램 중에 2주차가 끝났다! 까마득하고 모르겠던 자바도 어느정도는 익숙해진 느낌이다. 아예 모르겠던 알고리즘도 가끔은 이렇게 하면 되지 않을까?! 하면서 감은 잡은 것 같은 느낌이 든다 ... (아직도 어렵지만) 멘토님들 말씀대로 자바 기초를 잡는데에 초점을 잡았다. 생소한 용어들을 완전히까지는 아니지만 어느정도는 낯설지는 않도록 자주보려고 노력했다 1주차에는 프로젝트때문에 눈물로 지새웠다면 이번주차는 그래도 차근차근히 기본기를 다지자는 마음으로 임했다. 알고리즘 문제를 매일 잘 풀어내기만 하면 되었기에 공부할 시간이 어느정도는 있어서 다행이었다. 그래도 역시 알아야 할 내용은 산더미에 알고리즘이 그리 쉽게 풀리는 것도 아니어서 취침시간이 2,3시 였던건 함정이다... 그래도 나는 매일 성장하..

22.08.13 (토) 13일 차

오늘 한 것 프로그래머스 자바입문 P9,P10 완강 스프링 스파르타 2주차,3주차(5까지) 알고리즘 1문제 (프로그래머스 레벨1) 오늘 배운 것 SPRING의 구조 Controller, Service, Repository, JPA,MySQL,H2,DTO Lombok사용하기 API 설계 방법 ARC 사용하기 2022.08.13 - [JAVA] - [JAVA] 예외처리(Exception) / Throws 2022.08.13 - [알고리즘/JAVA] - [프로그래머스] 약수의 합 내일 할 것 JAVA 기초 알아야할 것 정리 (기술면접시 유용) 팀 과제 - DIY Q&A 할만한 키워드 찾기 WIL 스파르타 4주차,5주차 (끝내버리기..) 개인 과제 API 설계 먼저하기! 아침에 겨우 자바입문 수업을 완강하고 깔..

[JAVA] 예외처리(Exception) / Throws

Exception 프로그램실행중 예기치 못한 사건을 예외라고 한다. 예외 상황을 미리 예측하고 처리할 수 있는데, 이렇게 하는 것을 예외 처리라고 한다. public class ExceptionExam { public static void main(String[] args) { int i = 10; int j = 5; int k = i / j; System.out.println(k); System.out.println(main 종료!!); } } 위 코드에서 j를 0으로 바꾸면 Excption 발생 j를 0으로 바꾸면 ArithmeticException이 발생하면서 프로그램이 종료된다. Java는 정수를 정수로 나눌때 0으로 나누면 안된다.0으로 나누면 오류가 발생하는 것입니다. 예외 처리 프로그래머는 ..

22.08.12 (금) 12일 차

오늘 한 것 프로그래머스 자바 입문강의 P8 스프링 스파르타 강의 1주차 Spring 환경설정 - 한글깨짐 수정! 3주차 팀과제 - 내파트 질문 답변 작성 오늘 배운 것 2022.08.12 - [JAVA] - [JAVA] 인터페이스 2022.08.12 - [JAVA] - [JAVA] 내부클래스 restAPI 에서 PUT 과 PATCH의 차이 스프링 프로젝트 만들기 RestController 만들기 내일 할 것 프로그래머스 자바입문 P9,P10 완강 스프링 스파르타 2주차,3주차 ,.. (볼수 있는데 까지) JAVA 기초 알아야할 것 정리 (기술면접시 유용) 팀 과제 - DIY Q&A 할만한 키워드 찾기 이번주 WIL 고민해보기 새로운 주차 시작이다. 오늘부터는 Spring 시작.. 후 아직 자바도 두루뭉..

[JAVA] 내부클래스

클래스 안에 선언된 클래스 어느 위치에 선언하느냐에 따라서 4가지 형태가 있을 수 있다. 첫번째는 클래스 안에 인스턴스 변수, 즉 필드를 선언하는 위치에 선언되는 경우. 보통 중첩클래스 혹은 인스턴스 클래스라고 한다. 내부에 있는 Cal객체를 생성하기 위해서는, 밖에는 InnerExam1의 객체를 만든 후에 InnerExam1.Cal cal = t.new Cal();과 같은 방법으로 Cal객체를 생성한 후 사용한다. public class InnerExam1{ class Cal{ int value = 0; public void plus(){ value++; } } public static void main(String args[]){ InnerExam1 t = new InnerExam1(); InnerE..

[JAVA] 인터페이스

: 서로 관계가 없는 물체들이 상호 작용을 하기 위해서 사용하는 장치나 시스템 구현은 없고 어떤게 있다고 보여주는것 기능 구현하는 게 아니라 정의만 인터페이스는 자체적으로 타입의 역할은 가능하지만 객체 생성은 못함 동일한 인터페이스를 구현한다 = 클래스의 사용법이 동일! 클래스는 인터페이스를 구현해서 사용가능하고 인터페이스를 여러개 구현해서 사용도 가능 인터페이스 정의하는 방법 추상 메소드와 상수를 정의 할 수 있다. public interface TV{ public int MAX_VOLUME = 100; public int MIN_VOLUME = 0; public void turnOn(); public void turnOff(); public void changeVolume(int volume); pu..

[JAVA] 메소드 - 오버라이딩

2022.08.10 - [JAVA] - [JAVA] 상속 / super / 부모생성자 [JAVA] 상속 / super / 부모생성자 상속 : 부모가 가진 것을 자식에게 물려주는 것 노트북은 컴퓨터의 한 종류다. 컴퓨터(부모)-노트북(자식) 침대는 가구의 한 종류다. 혹은 침대는 가구다. 가구(부모)-침대(자식) => is a 관계 혹은 k wearegolden.tistory.com : 부모가 가지고 있는 메소드와 똑같은 모양의 메소드를 자식이 가지고 있는것 즉, 부모클래스의 메소드를 자식클래스에서 재정의하여 사용하는 것 부모클래스 public class Car1 {//부모클래스 public void run() { //부모 메서드 System.out.println("달리다"); } } 자식클래스 publi..

[JAVA] 추상클래스

: 구체적이지 않은 클래스 새,포유류, 가구 .. 등과 같이 구체적이지 않은 것. 추상클래스로 표현 가능하다 추상 클래스 정의하기 추상 클래스는 클래스 앞에 abstract 키워드를 이용해서 정의한다. 추상 클래스는 미완성의 추상 메소드를 포함할 수 있다. 추상 메소드란, 내용이 없는 메소드 이다. 즉 구현이 되지 않은 메소드이다. 추상 메소드는 리턴 타입 앞에 abstract라는 키워드를 붙여야 한다. 추상 클래스는 인스턴스를 생성할 수 없다. public abstract class Bird{//추상메소드가 하나라도 있으면 추상 클래스 public abstract void sing();//추상메소드 public void fly(){ System.out.println("날다."); } 추상 클래스를 상속..

[JAVA] 접근 제어자

클래스 {필드,메소드} - 캡슐화 : 관련된 내용을 모아서 가지고 있는 것 : 클래스 내에서 멤버의 접근을 제어하는 역할 한정자 클래스 내부 동일 패키지 하위 클래스 그외의 영역 public ⭕ ⭕ ⭕ ⭕ protect ⭕ ⭕ ⭕ ❌ default ⭕ ⭕ ❌ ❌ private ⭕ ❌ ❌ ❌ public : 어떤 클래스든 접근가능, 모든 접근을 허용, 가장 넓은 의미,전체공개 protected : 같은 패키지인 경우 접근 허용, 다른 패키지라도 상속을 받은 경우 접근허용 private : 자기 자신만 접근가능 default 접근지정자 : 아무것도 쓰지 않은 경우, 자기 자신과 같은 패키지 내에서 접근 허용 public > protected > default > private ❗필드 뿐아니라 메서드나 클래스..

[JAVA] 상속 / super / 부모생성자/ 클래스형변환

상속 : 부모가 가진 것을 자식에게 물려주는 것 노트북은 컴퓨터의 한 종류다. 컴퓨터(부모)-노트북(자식) 침대는 가구의 한 종류다. 혹은 침대는 가구다. 가구(부모)-침대(자식) => is a 관계 혹은 kind of 관계 라고 한다. Car 를 상속받은 Bus 를 class로 표현하는 방법 public class Car{ } public class Bus extends Car{ } public class 클래스명 extends 부모클래스명 자바는 클래스 이름 뒤에 extends 키워드를 적고 부모클래스 이름을 적게 되면 부모 클래스가 가지고 있는 것을 상속받을 수 있게 된다. 상속이란 부모가 가지고 있는 것을 자식이 물려받는 것을 말한다. 즉, 부모가 가지고 있는 것을 자식이 사용할 수 있게 된다. ..

[JAVA] 패키지

관련있는 클래스들을 모아 놓은 폴더(패키지) 패키지에 생성된 클래스 사용하기 java.lang패키지를 제외하고는 다른 패키지에 있는 클래스를사용하려면 import라는 구문을 적어줘야 한다. import com.eightcruz.javastudy.Hello; 위의 코드는 com.eightcruz.javastudy패키지 아래의 Hello클래스를 사용하겠다는 것을 컴파일러와 JVM에게 알리는 것이다. 클래스 이름대신에 * 를 적어도 된다. import com.eightcruz.javastudy.*; import 하지 않고 사용하는 방법 만약 import를 하기 싫다면, 혹은 각기 다른 패키지에 존재하는 같은 이름의 클래스 파일을 사용해야 한다면 아래와 같이 이용한다. com.eightcruz.javastudy..

[JAVA] 메소드 - 오버로딩

2022.08.08 - [JAVA] - [JAVA] 객체지향 / 클래스 Class /메쏘드 Method / Static [JAVA] 객체지향 / 클래스 Class /메쏘드 Method / Static 2022.06.20 - [준비운동/생활코딩 자바] - 6일차 패키지/클래스/인스턴스/상속 JAVA는 객체지향 프로그래밍이다. 객체 지향 프로그래밍 (OOP) 프로그램을 구성하는 요소는 객체이며 이것이 상호작 wearegolden.tistory.com 매개변수의 유형과 갯수가 다르게 하여 같은 이름의 메소드를 여러 개 가질 수 있게 하는 기술 매개변수의 수, 타입이 다른 경우 동일한 이름으로 메소드를 여러 개 정의할 수 있다 public class MyClass2 {//메소드 오버로딩 //메소드 오버로딩은 매..

[JAVA] 생성자 / this / 생성자 오버로딩

생성자 모든 클래스는 인스턴스화 될때 생성자를 사용한다. 생성자의 특징 생성자는 리턴타입이 없다. 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다. 매개변수가 없는 생성자를 기본생성자라고 한다. 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다. 생성자의 역할 생성자가 하는 일은 객체가 될 때 필드를 초기화 하는 역할을 수행한다. 자동차가 객체가 될때 반드시 이름을 가지도록 하려면,Car클래스를 다음과 같이 만들어야 한다. public class Car{ String name; int number; public Car(String n){//생성자 name = n;//필드에 선언된 name을 초기화 } } 위의 Car 클래스를 이용..

[JAVA] 열거형 enum

enum 이름 {값1,값2;} 특정 값만 사용해야한다면 열거형을 사용하는 것이 좋다 JDK5 이전에는 상수를 열거형 대신 사용 상수를 이용하는 방법 public class EnumExam { public static final String MALE = "MALE"; public static final String FEMALE = "FEMALE"; public static void main(String[] args) { String gender1; gender1 = EnumExam.MALE; gender1 = EnumExam.FEMALE; } } 상수를 사용했때의 문제점 String으로 선언된 gender1 에는 MALE,FEMALE 둘 중 한가지 값을 갖기 원하는데, gender1의 type이 Strin..

22.08.09(화) 9일 차

오늘 한 것 알고리즘 모의고사(13:00~15:00) [프로그래머스]자바 입문강의 P4,P5 Q23,Q24,Q25,Q26,Q27,Q28 입문 강의 개념 블로그에 정리하기 P2,P3,P4 오늘 배운 것 자바 입문 기본 개념 객체/클래스/메소드 가 조금 머릿속에 잡힐락 말락한다...밀당중.. 알고리즘도 조금씩 푸는 방법을 알것 같기도..아닌거 같기도.. 감이 잡힐락..말락... 밀당중 내일 할 것 모르는 알고리즘 함수 정리하기 P5다시 보고 클래스/메소드 개념 정리 확실히 하기! Spring 과제 하기 (~14:00까지 대강이라도) [프로그래머스] 자바 입문강의 P5,P6,P7,P8,P9 입문 강의 개념 블로그에 정리하기 알고리즘.. 하나 풀어보기 오늘은 알고리즘 모의고사 였다. 다행히 로직을 짜기는 쉬웠지..