본문 바로가기 메뉴 바로가기

언젠가 꽃이 될 개발자

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

언젠가 꽃이 될 개발자

검색하기 폼
  • 분류 전체보기 (214) N
    • 프로그래밍 (49) N
      • 자바 (29)
      • 스프링 (4)
      • JPA (9)
      • querydsl (2)
      • html,css (0)
      • database (2)
      • Spring Security (3) N
    • 개발 (5)
    • 코딩테스트 (15)
      • 백준 자바 (14)
    • Git (3)
    • 앱개발 (1)
    • 자격증 (39)
      • 정보처리산업기사 (39)
    • 디버깅 (19)
    • 파이썬 (5)
      • 이것이 취업을 위한 코딩 테스트다 (5)
    • 독서 (8)
      • 스프링 부트와 AWS로 구현하는 웹 서비스 (2)
    • http (0)
    • 기타 (5)
    • 해커랭크 챌린지 (53)
    • 일기 (1)
    • 한줄다짐 (0)
    • cs (3)
    • 경험 (1)
    • sql (0)
  • 방명록

프로그래밍 (49)
[자바의정석] ch 11-12 LinkedList - 배열의 장단점

🤔 LinkedList 배열의 장단점 ✅ 장점 ✔ 배열은 구조가 간단하고 데이터를 읽는 데 걸리는 시간(접근시간, access time)이 짧다. ✅ 단점 ✔ 크기를 변경할 수 없다. 크기를 변경해야 할 경우 새로운 배열을 생성 후 데이터를 복사해야 함. 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리가 낭비됨. ✔ 비순차적인(중간에 데이터 넣는 것) 데이터의 추가, 삭제에 시간이 많이 걸림. 데이터를 추가하거나 삭제하기 위해 다른 데이터를 옮겨야 함. 그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝에서 삭제)는 빠르다. 🤔 LinkedList - 배열의 단점을 보완 ✔ 배열과 달리 LinkedList는 불연속적으로 존재하는 데이터를 연결(link) ✔ 데이터의 삭제 : 단 한 번의 참조..

프로그래밍/자바 2022. 7. 4. 00:30
[자바의 정석] Ch11-1 컬레션 프레임웍(collections framework) / Ch 11-7 ArrayList

🤔 컬렉션 프레임워크(collections framework) ✔ 컬렉션(collection) - 여러 객체(데이터)를 모아 놓은 것 ✔ 프레임웍(framework) - 표준화, 정형화된 체계적인 프로그래밍 방식 ✔ 컬렉션 프레임웍(collections framework) - 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 - 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스 제공 - java.util 패키지에 포함. JDK 1.2부터 제공 ✔ 컬렉션 클래스(collection class) - 다수의 데이터를 저장할 수 있는 클래스(예, Vertor, ArayList, HashSet) 🤔 컬렉션 프레임워크의 핵심 인터페이스 List : 순서 o, 중복 o Set : 순서 x, 중복 x Ma..

프로그래밍/자바 2022. 6. 27. 13:15
[자바의 정석] Ch8-17 예외 되던지기(exception re-throwing) / Ch8-18 연결된 예외(chained exception)

오늘은 예외 되던지기와 연결된 예외에 대해 학습하자 🤔 예외 되던지기(exception re-throwing) ✔ 예외를 처리한 후에 다시 예외를 발생시키는 것 ✔ 호출한 메서드와 호출된 메서드 양족 모두에서 예외처리하는 것 백문이 불여일견!! 코드를 통해 확인하자. public class 예외되던지기 { public static void main(String[] args) { try { method(); }catch(Exception e) { // 4. (main 메서드에서 예외 처리됨.) 출력 System.out.println("main 메서드에서 예외 처리됨."); } } static void method() throws Exception { try { throw new Exception(); //..

프로그래밍/자바 2022. 6. 27. 12:17
[자바의 정석] Ch 8-1 프로그램 오류란? Ch 8-5 try-catch문에서의 흐름이란? Ch 8-7 printStackTrace()와 getMessage()란? Ch 8-11 메서드에 예외 선언하기란?

🤔 프로그램 오류란? ✔ 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러 ✔ 런타임 에러(runtime error) : 실행할 때 발생하는 에러 (프로그램 종료) ✔ 논리적 에러(logical error) : 작성 의도와 다르게 동작 (프로그램 종료 x) 🤔 예외처리의 정의와 목적 ✔ 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 ✔ 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 🤔 try-catch문에서의 흐름 ✅ try 블럭 내에서 예외가 발생한 경우 1. 발생한 예외와 일치하는 catch블럭이 있는지 확인 2. 일치하는 catch블럭을 찾게 되면, 그 catch블럭 내의 문장들을 수행하고 전체 try-catch문..

프로그래밍/자바 2022. 6. 22. 22:55
[자바의 정석] 익명 클래스(anonymous class)란?

오늘은 자바에서 아주 중요하고 많이 쓰이는 익명클래스에 대해 알아보자. 🤔 익명클래스(anonymous class)란? ✔ 이름이 없는 일회용 클래스 ✔ 정의와 생성을 동시에! 원래 객체는 다음과 같이 선언하고 생성한다. 근데 익명 클래스는 '이름' 이 없으므로 다음과 같이 선언한다. 본인 이름이 없기 때문에 조상클래스이름 혹은 구현인터페이스의 이름을 사용한다. 예제를 살펴보자. import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; class Tes { public static void main(String[] args) { Button b = new Button("Start"); b.addAc..

프로그래밍/자바 2022. 6. 22. 21:21
[자바의 정석] Ch 7-24 내부 클래스의 제어자와 접근성이란?

지난 포스팅에서 '객체지향 프로그래밍'파트의 시리즈가 완강되어서 강의가 끝난줄 알았는데 추가 강의가 있어서 공부한 내용을 바탕으로 포스팅한다. 바로 들어가보자. 😊 🤔 내부 클래스의 제어자와 접근성이란? ✔ 내부 클래스의 제어자는 변수에 사용 가능한 제어자와 동일 class P { class InstanceInner { /* 인스턴스 내부 클래스 */ int iv = 100; // static int cv = 100; // 에러!! static 변수를 선언할 수 없다. final static int CONST = 100; // final static은 상수이므로 허용 } static class StaticInner { /* static 내부 클래스 : static 내부 클래스에서는 외부 클래스의 인스턴스..

프로그래밍/자바 2022. 6. 22. 21:04
[자바의 정석] Ch 7-38 인터페이스를 이용한 다형성이란? 인터페이스의 장점은? Ch 7-40 디폴트 메서드와 static 메서드란?

🤔 인터페이스를 이용한 다형성이란? ✔ 인터페이스 타입 매개변수는 인터페이스 구현한 클래스의 객체만 가능 ⭐⭐⭐ ✔ 인터페이스를 메서드의 리턴타입으로 지정할 수 있다. abstract class Unit { int x, y; abstract void move(int x, int y); void stop() { System.out.println("멈춥니다."); } } interface Fightable { void move(int x, int y); // public abstract 생략됨 void attack(Fightable f); // public abstract 생략됨 } class Fighter extends Unit implements Fightable { public void move(int..

프로그래밍/자바 2022. 6. 21. 10:09
[자바의 정석] Ch 7-31 추상 클래스(abstract class)란? Ch 7-34 추상클래스의 작성법은? Ch 7-35 인터페이스(interface)란? Ch 7-36 인터페이스의 상속이란?

🤔 추상 클래스(abstaract class)란? ✔ 미완성 설계도. 미완성 메서드를 갖고 있는 클래스 ✔ 다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가 ✔ 미완성 메서드. 구현부(몸통, {})이 없는 메서드 /* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명 */ 다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가 Player p = new player(); // 에러. 추상 클래스의 인스턴스 생성 불가 그럼 인스턴스 생성 불가한 클래스를 만드는 이유가 뭘까? 👉 다른 클래스 작성에 도움을 주기 위해서!! abstract class Player { // 추상클래스(미완성 클래스) abstract void play(int pos); // 추상메서드(몸통{}이 없는 ..

프로그래밍/자바 2022. 6. 21. 08:21
[자바의 정석] Ch 7-23 다형성(polymorphism)이란? Ch 7-24 참조변수의 형변환이란? Ch 7-26 Instanceof 연산자란? Ch 7-27 매개변수의 다형성이란?

오늘은 객체지향의 꽃인 다형성에 대해 학습해보자. 🤔 다형성(polymorphism)이란? ✔ 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 ✔ 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 Tv t = new SmartTv(); // 타입 불일치 위와 같이 Tv (조상 타입 참조 변수) 리모콘으로 SmartTV(자손 타입 객체)를 다루는 것을 다형성이라고 한다. 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. Tv t = new SmartTv(); // 허용 SmartTv s = new Tv(); // 허용 안 됨. // 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. SmartTv 리모컨 버튼 6(Tv버튼..

프로그래밍/자바 2022. 6. 21. 05:07
[자바의 정석] Ch 7-17 제어자(modifier)란? static이란? final이란? abstract란? Ch 7-21 접근 제어자(access modifier)란? Ch 7-22 캡슐화란?

🤔 제어자(modifier)란? ✔ 클랫와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여 🤔 static이란? 🤔 final이란? 🤔 abstract 란? 추상의, 미완성의 ✅ 추상메서드란? ✔ 몸통이 없는 메서드 ✔ 미완성 메서드 ✔ 선언부만 있고, 구현부는 없다. ✔ abstract 키워드가 붙는다. ✅ 추상클래스란? ✔ 추상 메서드를 갖고 있는 클래스 추상클래스의 인스턴스 생성불가 ❌ abstract class AbstractTest { // 추상클래스 (추상메서드를 포함한 클래스) abstract void move(); // 추상 메서드(구현부가 없는 메서드) } AbstractTest a = new AbstractTest(); // 에러!! 추상 클래스의 인스턴스 생성불가 추상클래스는..

프로그래밍/자바 2022. 6. 21. 03:55
[자바의 정석] Ch 7-10 참조변수 super란? Ch 7-12 패키지(package)란? Ch 7-16 static import문이란?

🤔 참조변수 super란? ✔ 객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자) 내에서만 존재 ✔ 조상의 멤버를 자신의 멤버와 구별할 때 사용 🤔 this와 super의 차이점? this : 지역변수(local variable)와 인스턴스 변수(instance variable)의 구분에 사용 super : 조상의 멤버와 자신의 멤버 구분에 사용 다음의 예제를 보자. class T2 { public static void main(String[] args) { Child c = new Child(); c.method(); } } class Parent { int x = 10; /** super.x */ } class Child extends Parent { int x = 20; // this.x vo..

프로그래밍/자바 2022. 6. 21. 03:10
[자바] 객체지향을 쓰는 이유

그간 필자는 객체지향이 정확히 무엇인지도 모르고 생성자, 오버로딩, 오버라이딩은 왜 배우는지도 모르고 주입식으로 학습했다. 객체지향 : 객체 단위로 프로그래밍 하는것, 코드의 중복 줄일 수 있음. 오버로딩 : 생성자 여러 개 생성하는 데 매개변수 다른 것 오버라이딩 : 상속받은 생성자 재정의 하는 것 등 이론식으로 공부했다. 그러다 다음의 예제를 만나고 모든 것이 한번에 이해가 되었다. 이전 필자의 포스팅에서 소개한 내용인데 필자의 시야가 확 트이는? 예제였기에 다시 한 번 포스팅 한다. (이전 포스팅 참고) 바로 들어가보자. 다음의 코드를 보자. (코드를 잘 짜는 것이 얼마나 코드를 단축시킬 수 있는지 알게 되는 코드이다.) 필자는 처음에 강의를 듣고 소름이 돋았다. 👍 class MyPoint3 ex..

프로그래밍/자바 2022. 6. 21. 02:19
[자바의 정석] Ch 7-1 상속(Inheritance)란? Ch 7-3 포함(composite) 관계란? Ch 7-4 클래스 간의 관계 결정하기 Ch 7-5 단일 상속(Single Inheritance)란? Ch 7-6 Object 클래스란? Ch 7-7 오버라이딩(overriding)이란? Ch 7-9 ..

🤔 상속(Inheritance)란? ✔ 기존의 클래스로 새로운 클래스를 작성하는 것.(코드의 재사용) 두 클래스를 부모와 자식으로 관계를 맺어주는 것 ✔ ⭐ 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화블럭 제외) 따라서 ✔ 자손의 멤버 개수는 조상보다 적을 수 없다.(같거나 많다.) 왜냐 모든 멤버를 상속받으니까!! ✔ 자손의 변경은 조상에 영향을 미치지 않는다. 🤔 포함(composite) 관계란? ✔ 포함(composite)이란? 클래스의 멤버로 참조변수를 선언하는 것 작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다. class Poitn { int x; int y; } class Circle { int x; // 원점의 x좌표 int y; // 원점의 y좌표 int r;..

프로그래밍/자바 2022. 6. 21. 02:08
[자바의 정석] Ch 6-36 생성자 this()란? Ch 6-37 참조변수 this란? Ch 6-37 this()와 this의 차이란? Ch 6-38 변수의 초기화란?

🤔 생성자 this()란? 생성자에서 다른 생성자를 호출할 때 사용한다. 다른 생성자 호출 시 첫 줄에서만 사용가능! 다음의 예시를 살펴보자. Car(String color) { door = 5; Car(color, "auto", 4); // 에러, 다른 생성자 호출 시 반드시 첫 줄에서만 사용가능!! // 또한 같은 클래스 안의 생성자를 호출할 때 Car(color, "auto", 4); 로 호출하면 안되고 // this 사용해야함. } // 올바른 사용법 Car(String color) { this(color, "auto", 4); } 🤔 참조변수 this란? 인스턴스 자신을 가리키는 참조변수 인스턴스 메서드(생성자 포함)에서 사용가능 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용 this..

프로그래밍/자바 2022. 6. 21. 01:07
[자바의 정석] Ch 6-14 메서드란? Ch 6-20 return문이란? Ch 6-22 호출 스택(call stack)이란? Ch 6-23 기본형 매개변수란? Ch 6-24 참조형 매개변수란? Ch 6-25 참조형 반환타입이란?

🤔 메서드란? 문장들을 묶어 놓은 것 값(입력)을 받아서 처리하고, 결과를 반환(출력) 메서드 = 선언부 + 구현부 🤔 메서드의 장점? 코드의 중복을 줄일 수 있다. 코드의 관리가 쉽다. 코드를 재사용할 수 있다. 코드가 간결해서 이해하기 쉬워진다. int add(int a, int b) { // 선언부 int result = a + b; // 구현부 return result; // 호출한 메서드로 결과 반환 // 구현부 } ✅ 메서드는 클래스 영역에만 정의 가능하다 🤔 Return이란? 실행 중인 메서드를 종료하고 호출한 곳으로 되돌아가는 것 반환타입이 void가 아닌 경우, 반드시 return 필요 🤔 호출 스택이란? 스택(stack) : 밑이 막힌 상자. 위에 차곡차곡 쌓임. 호출 스택 : 메서드 ..

프로그래밍/자바 2022. 6. 20. 04:14
이전 1 2 3 4 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 해커랭크 자바
  • 해커랭크 자바 챌린지
  • 정보처리산업기사 공부법
  • ORM
  • 정보처리산업기사
  • 자바
  • 22 정보처리산업기사
  • hackerrank challenges
  • LinkedList
  • challenges
  • 백준
  • 디버깅
  • 소스코드
  • 코드
  • 챌린지
  • 22 정보처리 산업기사
  • 해커랭크 챌린지
  • 나동빈
  • queue
  • BAEKJOON
  • 해커랭크
  • 정보처리 산업기사
  • 강의
  • Java
  • 자바의 정석
  • 그리디
  • hackerrank
  • stack
  • 이코테
  • JPA
more
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바