본문 바로가기

Java24

[JAVA/자바]Array, Arraylist 차이 -스크랩 https://zorba91.tistory.com/287 [Java] array(배열)과 arrayList(리스트)의 차이(arrayList는 어떻게 동적으로 늘어나는가?) array(배열)과 arrayList(리스트)의 차이 arrayList는 사이즈가 동적으로 알아서 늘어나주니 찾아볼 생각을 못하다가 어떻게 내부적으로 size가 늘어나는지 코드를 분석해봤다. 일단 기본적인 차이부터 zorba91.tistory.com 공부하는데 도움 많이 된 블로그!! 2022. 12. 15.
[JAVA/자바]toString 실습 https://edu.goorm.io/learn/lecture/41/%EB%B0%94%EB%A1%9C%EC%8B%A4%EC%8A%B5-%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9-%EC%9E%90%EB%B0%94-java/lesson/770/tostring 구름EDU - 모두를 위한 맞춤형 IT교육 구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/ edu.goorm.io 2022. 12. 15.
[JAVA/자바]String class,equals 메소드와 == 연산자의 차이 equals : 객체끼리 비교하는 메소드 == : 비교를 위한 연산자 String class 자바에서 문자열은 쌍 따옴표 " "로 감싸면 된다. 자바에서 문자열을 저장하는 기본 자료형 (Data Type은 없다.) 문자열은 여러가지 조작을 할 수 있기 때문에 별도의 클래스로 자료형 (java.lang.String)을 만들어 두었다. 따라서 자바에서 문자열은 책, 영화, 회원 처럼 객체로 취급된다. 문자열 생성방법 new로 생성 -> Heap area(객체가 생성되는 메모리영역)에 저장됨 // 새로운 객체를 선언하는 것과 같음. String str1 = new String("APPLE"); String str2 = new String("APPLE"); 저장하는 문자열은 같지만!! 번지가 서로 다름 서로 같.. 2022. 12. 14.
[JAVA/자바]API API : Application Programming Interface(애플리케이션 프로그램 인터페이스) 비슷한 기능을가진 여러개의 클래스를 jar로 하나로 묶어놓은 파일 API의 구성 Java 패키지 하위 패키지들이 있으며 아래와 같다. lang : 가장 기본적인 클래스들이 여기에 해당함ex) Integer class, String class etc... 이 패키지는 디폴트 패키지로써 클래스를 만들면 자동으로 import 된다 -> import java.lang.* ** String 클래스의 이름은 두가지 / 기본이름 : String, 패키지를 포함한이름(full name class) : java.lang.String util : arraylist io (in/out) : 입출력 관련 ->stream .. 2022. 12. 14.
[JAVA/자바]패키지/package 기능이 비슷한 클래스를 모아서 쉽게 관리하기 위해 사용 혹은 패키지 외부에서 접근하는 것을 막기 위해 사용 패키지에 접근하려면!! import구문을 이해해야한다. 접근권한을 알아야한다.(public 접근권한인 경우에 접근 가능) default 접근권한 : 패키지 내부에 있는 클래스에게는 public 접근권한 / 외부에 있는 클래스에게는 private 접근권한 class full name을 알아야 한다. ex) kr.tpc.Myclass **class의 이름은 두 가지. ex) 1:Myclass 2: kr.tpc.MyClass(패키지를 포함한 이름) **인프런 강의 'Java TPC(생각하고, 표현하고, 코딩하고 / 박매일 강사님)'를 듣고 작성 및 발췌 했습니다. 2022. 12. 14.
[JAVA/자바]함수와 메서드의 개념 및 차이-스크랩 공부할 때 도움 많이 된 블로그!! https://hoestory.tistory.com/m/31#:~:text=%ED%95%A8%EC%88%98%EC%99%80%20%EB%A9%94%EC%84%9C%EB%93%9C%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90&text=%ED%95%A8%EC%88%98%EB%8A%94%20%EC%96%B4%EB%94%94%EC%97%90%20%EC%86%8D%ED%95%B4%EC%9E%88%EC%A7%80,%EB%90%9C%20%EA%B2%83%EC%9D%84%20%EB%A9%94%EC%84%9C%EB%93%9C%EB%9D%BC%EA%B3%A0%20%ED%95%A9%EB%8B%88%EB%8B%A4 [Java] 함수와 메서드의 개념 및 차이, 스택 .. 2022. 12. 14.
[JAVA/자바]super와 super()비교 -스크랩 super에 대해 방황하던 중 명확하게 설명이 되어있는 블로그를 찾았다!! https://structuring.tistory.com/126 JAVA 문법 - super 와 super() 비교, super를 활용한 메서드 오버 라이딩 강의 소개 현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다. 교재로는 자바의 정석을 사용하고 있습니다. super this는 자기 자신을 지칭하는 키 structuring.tistory.com 2022. 12. 14.
[JAVA/자바]초기화와 중복정의(Overloading) 생성자는 인스턴스 생성시 (객체가 생성될 때 마다) 초기화 해주는 메서드 자바의 모든 클래스에는 하나 이상의 생성자가 정의되야한다. 클래스이름과 동일한 메서드 메서드의 return type/리턴타입이 없다. 생성자를 명시 안한다면 default 로 설정이 되는데 이렇게 설정된 것을 초기화라고 한다. default 생성자는 생성자를 정의하지 않았을 경우에만 호출되어 진다. default 생성자의 접근 지시자(public, private...)는 class의 선언형태에 따라 결정된다. public BookVO{ } //생성자가 생략된 클래스 public class Book{ private String title; private int price; private String company; private in.. 2022. 12. 14.
[JAVA/자바]Getter,Setter메소드 그리고 접근제어자 public, private 자바의 접근 제한자 (클래스, 생성자, 멤버 변수, 메소드에 모두 적용됨) public private 외부에서 접근 가능 //외부 패키지, 클래스에서 모두 접근가능 외부에서 접근 불가능 //같은 클래스 내에서만 접근 가능 //정보 은닉이 목적 최상위 클래스에서 사용 가능 //상속 가능 최상위 클래스에서 사용 불가능 //상속 불가능 상위 클래스가 public인데!! 멤버변수들이 private이면 ~~~~~~~~ 사용하는것이 Getter, Setter private -> 외부에서 접근 불가능 따라서 Getter, Setter을 통하여 해당 값에 접근. 둘은 항상 같이 다님. Getter 메소드로 정보에 접근하고 (return함수가 이때 쓰임. 알아낸 정보를 메인클래스로 보내야하니까!!) Setter 메소드로.. 2022. 12. 14.
[JAVA/자바]private 생성자와 static, non-static Private 생성자 : 객체 생성에 관여하는 생성자 메서드가 private 접근 제어를 가지면 객체를 생성할 수 없다. 객체를 생성하지 않고도 사용 가능해야 한다. (모든 클래스의 멤버가 static 멤버가 되어야 함) non-static 멤버인 경우(인스턴스 메서드) : 객체 생성 후! 접근 가능 //왜냐하면 static이 안붙으면 메모리에 로딩이 되지 않기때문에 new를 붙여서 생성해야함. Inflearn inf = new Inflearn(): //객체 생성 inf.tpc(); // 접근 static 멤버인 경우 ( 클래스 메서드) : 객체 생성 없이 접근 ( 클래스 이름으로 접근) // 클래스를 사용하는 시점에서 static 멤버는 먼저 고정된 위치에 자동으로 메모리에 로딩이 된다. 그 이후에 호.. 2022. 12. 11.
[JAVA/자바]변수와 메서드 변수(Variable) : 데이터를 한 개만(한 개의 형태) 저장 가능 --------> 저장만 한다. ex) a가 변수 int a = 10; 메서드(method) : 동작을 한 후에 데이터를 한 개 만 만들어 낸다. --------> 동작 후 저장한다. ex) 메서드 이름이 변수 역할을 한다. // sum이 메서드 int sum = a + b; 메서드 호출문 int v = sum(10, 30) ; 메서드 선언문 public int sum(int a, int b) { return a + b ; } **인프런 강의 'Java TPC(생각하고, 표현하고, 코딩하고 / 박매일 강사님)'를 듣고 작성 및 발췌 했습니다. 2022. 12. 11.
[JAVA/자바]Variable, DataType, Assign V - Variable 변수/메서드 D - DataType PDT, UDDT, array, class A - Assign 대입, 할당 ex ) int a = 10; int : data type (데이터 타입) a : variable(변수) 10; : data (데이터) int a : declaration (선언) DTO : Data Transfer Object / 데이터를 담은 데이터 구조 VO : Value Object /그 자체로 값 공부할 때 도움 많이 된 블로그!! https://dandev.tistory.com/entry/JAVA-DTO%EC%99%80-VO-%EC%9D%98-%EC%B0%A8%EC%9D%B4 [JAVA] DTO와 VO 의 차이 개발을 하던 도중 DTO와 VO의 차이에 대해 궁금.. 2022. 12. 11.
[JAVA/자바]다형성/Polymorphism 이틀동안 깃허브 블로그한테 탈탈 털렸더니 머리에 Git 외에는 아무것도 안 남은 것 같다.. 죽겠어요... 아무튼... 다형성(Polymorphism)은 상위 클래스가 하위 클래스에게 동일한 메세지를 보내는지만 다르게 동작하는 원리. 하나의 메세지에 자식들이 반응을 하지만!! 결과는 다른것! 예제 package kr.poly; public interface RemoCon { // 객체생성 불가능,RemoCon r=new RemoCon();이런거 불가능 // final static (상수)를 사용가능 public static final int MAXCH = 100; // RemoCon.MAXCH public static final int MINCH = 1;// RemoCon.MINCH // 추상메서드 pu.. 2022. 12. 10.
[JAVA/자바]JAVA SE/JDK/JRE/JDK 및 IDE 차이점 -스크랩 https://codevang.tistory.com/86 JAVA SE/JDK/JRE/JDK 및 IDE 차이점 [ Java JDK 란? ] Java로 된 언어를 컴파일하고 개발할 수 있도록 해주는 개발 환경의 세트를 의미함 Java Development Kit의 약자, 개발자를 위한 JAVA라고 할 수 있음 개발자만을 위한 컴파일러, 디버깅툴 codevang.tistory.com 공부할 때 도움 많이 된 블로그!! 2022. 12. 10.
[JAVA/자바]Upcasting/업캐스팅, Downcasting/다운캐스팅 Object casting: 상속관계에 있는 클래스들 간의 형(DataType)을 바꾸는 것 인스턴스를 1개 부모클래스(슈퍼클래스)로 설정하여 자식클래스(서브클래스)를 담아놓고 관리하기 위해서 사용 Ex) 부모 클래스 : Animal | 자식 클래스 :Cat, Dog Upcasting : 자식(서브)클래스가 부모(수퍼) 클래스로 캐스팅. 자동형변환 Ex) Animal r=new Cat (); // upcasting r.eat(); Downcasting : 부모(수퍼)클래스가 자식(서브)클래스로 캐스팅. 강제형변환 Ex) Animal r=new Cat(); // r.night(); Cat c=(Cat)r; // downcasting c.night(); instanceof : 객체타입을 확인하는 연산자 형변.. 2022. 12. 8.
[JAVA/자바]추상클래스와 인터페이스 abstract class(추상 클래스) extends keywords 사용 구현 메서드를 가질 수 있다. 하나 이상의 추상 메소드를 갖고 있으면 추상 클래스라고 부름. 서로 기능이 비슷한 클래스의 공통 부분을 묶을 때 사용 구현 메서드와 추상 메서드를 함께 가질 수 있다. 50% 디자인(설계), 50% 구현 Interface(인터페이스) Implements keywords 사용 구현 메서드를 가질 수 없다. 다중 상속 형태를 지원한다. final static 멤버변수를 가질 수 있다. /final 선언하면 값을 바꿀 수 없다. 서로 기능이 다른 클래스의 공통 부분을 묶을 때 사용 100% 추상 메서드로 이루어진다. 100% 디자인(설계), 규약 // 추상 클래스(abstract class)랑 헷갈리지 .. 2022. 12. 7.
[JAVA/자바]상속 클래스, Override(재정의) 상속 클래스의 이점 수평적 설계의 단점 극복 가능 확장이 쉬움 관리하기가 쉬움 예제 extends로 클래스 확장 위의 코드 출력결과는 "?"이 아닌 "개처럼 먹다.", "고양이처럼 먹다." 왜냐하면!!! Override 되기 때문이다. Override (재정의 / 부모 메서드 무시) : 상속관계에서 상속받은 하위 클래스가 상위 클래스의 동작을 정하는 것. 동적바인딩(호출 될 메서드가 실행시점에서 결정되는 바인딩) 프로그램의 속도가 떨어지는 원인이 되지만 이점이 더 많기 때문에 사용. ** 동적바인딩과 반대의 개념으로 Overload(정적바인딩)이 있다. 컴파일 시점에서 사용(호출)될 메소드가 결정되기 때문에 실행속도에 전혀 영향을 끼치지 않는다. ** 동적바인딩의 이점은 속도 뿐만아니라 하위 클래스의 동.. 2022. 12. 6.
[JAVA/자바]Model과 API class - DataType 측면 : 새로운 자료형을 만드는 도구 = 모델링 도구 OOP(객체지향)측면 : 객체의 상태정보와 행위정보를 추출하여 캡슐화 하는 도구 Model - class를 Model이라고도 부른다. (역할이 정해져있으므로) Model의 3가지 종류 1. DTO(Data Transfer Object) : 데이터 구조, 데이터를 담는 역할, 이동하기위해서 데이터를 담는다. VO(Value Object) : 객체를 담아서 하나의 값로 취급한다는 의미 2. DAO(Data Access Object) : 데이터를 처리하는 역할(비즈니스 로직), 데이터베이스와 CRUD하는 역할 3.Utility(Helper Object) : 도움을 주는 기능을 제공하는 역할(날짜, 시간, 통화, 인코딩 등) A.. 2022. 12. 4.
[Eclipse/이클립스] Refactor로 class 이름 변경하기 이렇게 이미 적용되어있는 class명을 일괄 수정하려면! 2022. 9. 24.
[JAVA/자바] for문과 while문 비교하기 for문과 while문 모두 반복문에 해당하고 기능이 유사하여 서로 변환이 가능합니다. 별 찍기 예제를 통해서 같은 결과이지만 어떤식으로 다르게 쓰이는지 비교해보겠습니다. 별 찍기 만큼 좋은 예제가 또 어디있을까 싶습니다. 위와 같은 결과를 위해서 작성한 코드는 아래와 같습니다. for문의 예제 swtich문의 예제 구하고자 하는 값이 적어서 두 구문 모두 간단해보이지만 초기화나 증감식이 필용하지 않은 경우 혹은 반복횟수를 알고 있지 않은 경우라면 while문이 더욱 적합한 반면에, 초기화나 증감식이 필요하고 반복 횟수를 알고 있을 경우에는 for문이 더욱 적합합니다. * '자바의 정석' 교재 중 일부를 발췌 및 참고했습니다. 2022. 8. 17.
[JAVA/자바] if문과 switch문 비교하기 if문은 조건식의 결과가 참과 거짓, 이렇게 두 가지인 반면에 switch 문은 단 하나의 조건식으로 많은 경우의 수를 처리 할 수 있습니다. if문의 예제 switch 문의 예제 여기서 주의해야 할 점은 switch 문의 제약조건은 1. 조건식 결과는 정수 또는 문자열이어야 합니다. 2.case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야합니다. 3.위와 같은 이유로 변수나 실수는 case문의 값으로 사용할 수 없습니다. 따라서 입력받을 값 혹은 결과로 나올 값이 변수 혹은 실수가 아니고 2개 이상이라면 switch 문을 사용해야 합니다. * '자바의 정석' 교재 중 일부를 발췌 및 참고했습니다. 2022. 8. 17.
자바의 정석 기초편 연습문제 답안 https://github.com/castello/javajungsuk_basic/tree/master/%EC%97%B0%EC%8A%B5%EB%AC%B8%EC%A0%9C%20%ED%92%80%EC%9D%B4 GitHub - castello/javajungsuk_basic: 자바의 정석 기초편 관련 자료입니다. 자바의 정석 기초편 관련 자료입니다. Contribute to castello/javajungsuk_basic development by creating an account on GitHub. github.com 출처는 https://cafe.naver.com/javachobostudy 입니다. 남궁성 선생님께서 운영하고 계시는 네이버 카페인데 도움이 정말 많이 되고 있습니다! 위의 깃허브 링크 또.. 2022. 7. 18.
[Eclipse/이클립스] 콘솔창 한글깨짐 해결방법 콘솔창 한글깨짐 해결방법 전에 게시글에서는 Editor 창에서 한글이 깨지는 문제를 해결해보았습니다. 이번에는 콘솔창에서 한글이 깨지네요.. 상단 옵션 바에서 Run -> Run Configurations 경로로 아래와 같은 창을 활성화 시켜줍니다. 필터에 따로 입력하지 않고 바로 제일 먼저 보이는 창에서 Common을 눌러줍니다. Default에 체크되어있던것을 아래 Other로 체크하고 ms949로 선택합니다 혹 ! 시 ! 저처럼 ms949가 선택목록에 없는 경우에는 Properties (마우스를 프로젝트 창에 둔 뒤 Alt + Enter) 창을 활성화하고 아래 항목에 직접 ms949를 입력 해줍니다. 위와 같이 입력을 하신 후에는 이 전과 같은 환경으로 다시 설정해줍니다. 이 후에 아까 활성화 시켰.. 2022. 7. 17.
[JAVA/자바] 자바의 정석을 시작하며 이번 공부의 목적은 '깊게 이해하기 + 활용하여 프로젝트 만들기'이기 때문에 '모든 내용을 내것으로 만들겠다!' 는 포부로 패기있게 시작합니다. 자바의 정석은 총 3권으로 구성되어있습니다. 본격적인 강의를 들어가기 전 요약집으로 어떤내용을 배우게 될지 가볍게 훑고 시작합니다. 컴퓨터 과학 전공을 하셨거나 정보처리기사 준비를 하신 분들이라면 초반부의 내용은 수월하게 읽으실 수 있습니다. 뒷부분은 조금 생소하지만 놀란 마음은 진정시키고 계속 읽어갑니다. 다 읽으셨다면 이제 본 공부로 넘어가봅시다. 2022. 4. 1.