전체 글 375

16.01_Wrapper 클래스_22.09.13

학습키워드 제네릭 제네릭 클래스 제네릭 메서드 Wrapper 클래스 Wrapper 클래스 >의미 : 기본 자료형으로 할당된 데이터 값을 객체화 시키기 위한 용도의 클래스 : 인스턴스로 감싼다고 표현 >사용 목적 및 특징 : 인스턴스의 참조 값을 매개 변수로 하는 클래스에 기본 자료형을 인자로 전달할 수 있음. : 생성자를 통해 값을 한 번 주면 값을 바꿀 수 없는 immutable 인스턴스이다. : 값을 바꾸기 위해서는 Boxing, Unboxing이라는 절차를 거쳐야한다. (private상황의 getter, setter 느낌이랑 좀 비슷) >Wrapper 클래스의 종류 : 각각의 기본 자료형의 풀네임이 곧 Wrapper 클래스들 이다. : Integer, Double, Boolean, Character..

[IntelliJ] 코드 수정 후 Run 갱신 에러

문제 상황 : 코드를 작성하는 스크립트를 수정했으나, Run을 해도 반영이 안되는 문제. : 수정되기 전 코드만 지속적으로 반영됨. : 평소에는 문제 없다가 이따금씩 발생하는 에러 문제 원인 : Compile의 Build 방식 문제라고 파악됨. : 정확히는 Run을 하면서 동시에 빌드되는 Out 폴더 내부 파일(.class)이 갱신되지 않기 때문에 문제가 발생함. : Run으로 소스 코드를 실행하면 자동으로 컴파일 및 빌드가 자동으로 실행되어 소스 코드(.java)와 대응하는 Out 폴더의 파일들(.class)를 새로 생성되어야함. 하지만 error 발생 시 .class파일들이 새로 생성되지 않기 때문에 이전에 생성된 .class파일의 내용이 출력되는 것. 문제 해결 1. out 폴더를 지우고 run을 ..

Error/Java Error 2022.09.11

[Ubuntu Terminal]git remote 동기화 에러

문제 상황 Error: failed to push some refs to 'github.com:hso8706/Java.git' : git push를 진행하는데 해당 에러 발생 문제 원인 : 대부분의 원인은 원격 저장소(Github)와 로컬 저장소(내 PC) 사이의 데이터가 일치하지 않아서 발생한다고 함. : Github에서만 임의로 파일을 만들었거나 수정한 경우! 문제 원인 : 대부분의 원인은 원격 저장소(Github)와 로컬 저장소(내 PC) 사이의 데이터가 일치하지 않아서 발생한다고 함. : Github에서만 임의로 파일을 만들었거나 수정한 경우! 문제 해결 : 깃헙의 수정사항을 받아 일치시켜주면 해결. 1. git pull 명령어 이용 2. git pull –rebase 명령어 이용 추가 오류 발생..

Error/Git & GitHub 2022.09.11

[Ubuntu Terminal]git push error (remote 연결 문제)

문제 상황 ERROR: Write access to repository not granted. : git push가 되지 않는 상황 문제 해결 1. remote 연결 상황 확인 명령어: git remote -v : origin으로 연결되어 있음을 확인 2. 원격 저장소 업데이트(해결 실패) 명령어: git remote update : 원격 저장소를 업데이트 한 후 push를 시도했으나 문제가 해결되지 않음. 3. 원격 저장소 연결 해제 후 재연결(문제 해결) 3-1. 명령어: $git remote remove origin (origin 연결 해제) : 명령어를 통해 원격 저장소 연결을 해제함. (연결을 확인했을 때, 아무것도 출력되지 않는다.) 3-2. 명령어: $git remote (새로운 원격 저장소..

Error/Git & GitHub 2022.09.11

15_추석 전 날_22.09.08

보이는 라디오 기대하지 않았는데 생각보다 동기부여가 되고 힘이 됐다. 그리고 나만 그런지 모르겠는데 크루분들끼리 장난치고 티키타카하는 거 보면 뭔가 코드스테이츠에 더 신뢰가 간다ㅋㅋ 오후 페어 오후 시간에 심화 학습에 대한 페어를 진행했다. 실수였다... 나는 그냥 간단하게 파트만 나누는 페어가 되겠거니 했다. 생각이 너무 짧았다. 깃허브로 공유하는 것부터 문제가 발생했고, 이런 저런 생각치 못한 문제가 머리가 점점 하얘졌다. 결국 한 5시간 넘게 페어를 진행했다. 나 때문에 너무 고생했을 페어에게 심심한 사과를 올린다... 다음에 이같은 자체 페어 프로그래밍을 하고 싶을땐 더 계획을 철저히 해야겠다.

14_객체지향 프로그래밍 심화(추상화)_22.09.07

학습 키워드 추상화 abstract 제어자 추상 클래스 final 키워드 인터페이스 추상화 >의미 : 기존 클래스들의 공통적인 요소를 뽑아 다른 클래스(상위 혹은 하위)를 만들어 내는 것. >abstract 제어자 : 기타 제어자 중 하나 : 추상 클래스(abstract class) 혹은 추상 메서드(abstract method)를 만드는 제어자 >추상 메서드 : 메서드 시그니처만 있고, 바디가 없는 메서드 : 추상 메서드가 포함된 것의 객체를 생성하기 위해선, 무조건 추상 메서드의 바디를 정의하는 것이 선행되어야 한다. >추상 클래스 : 하나 이상의 추상 메서드를 포함한 클래스 : 메서드 바디를 완성해야 객체 생성이 가능(구현) >추상 클래스의 목적 1. 유연한 하위 클래스의 생성 : 상위 클래스가 추..

14_객체지향 프로그래밍 심화(다형성)_22.09.07

학습 키워드 다형성 업캐스팅과 다운캐스팅 instanceof 연산자 다형성 >의미 : 하나의 객체가 여러 가지 형태를 가질 수 있는 성질 : 한 타입의 참조변수를 통해 여러 타입의 객체를 참조하는 것 : 상위 클래스 타입의 참조변수로 하위 클래스의 객체를 참조하는 것. >특징 및 장점 : 역으로는 참조할 수 없다. : 상위 클래스의 멤버만 사용할 수 있다. : 형 변환처럼 타입 변환이 가능하다. //범위가 큰 쪽으로 형변환은 자동으로, 범위가 좁은 쪽으로 형변환은 명시해야 하는 점에서 자료형 변환과 유사하다. //범위가 어느 방향이 큰 건지 생각할 것. >참조변수의 타입 변환 : 사용할 수 있는 멤버의 수를 조절하는 것 >참조변수 타입 변환의 조건 1. 상속관계에 있는 클래스에서만 변환 성립 2. 하위 ..

13_객체지향 프로그래밍 심화(캡슐화)_22.09.06

학습 키워드 캡슐화 패키지의 개념 import문 접근제어자 getter/setter 메서드 캡슐화 >의미 : 객체의 데이터(멤버)를 외부로부터 보호하는 것 >목적 데이터 보호 불필요한 외부 노출 방지 > 특징 및 장점 : 정보 은닉 및 정보 보호 : 오류 최소화 패키지 >의미 : 특정한 목적을 공유하는 클래스와 인터페이스의 묶음 : 물리적으로는 하나의 디렉토리를 의미 : 해당 디렉토리에 클래스 파일과 인테페이스 파일이 속해있음 //인터페이스는 추상화 부분 참고 >특징 및 장점 : 소스파일에 패키지를 선언하지 않으면 자동으로 unnamed package가 생긴다. : 패키지를 지정하지 않은 모든 클래스는 같은 패키지(unnamed)에 속한다. : unnamed package는 다른 패키지에서 import할..

13_객체지향 프로그래밍 심화(상속)_22.09.06

학습 키워드 상위 클래스, 하위 클래스, 상속 관계의 이해 extends 키워드 포함관계 메서드 오버라이딩 super 와 super() Object 클래스 상속 >의미 : 연관된 일련의 클래스들에 대해 공통적인 규약을 정의하기 위한 문법 요소. : 다른 기존의 클래스의 모든 멤버를 사용하며, 추가적으로 확장시킬 때 사용하는 문법 요소 >상속관계 구분 상위 클래스 : 하위 클래스를 상속하는 클래스 : 하위 클래스로 확장되는 클래스 하위 클래스 : 상위 클래스를 상속받는 클래스 : 상위 클래스를 확장하는 클래스 >상속의 특징과 장점 : 상위 클래스의 멤버를 상속받기 때문에 코드의 중복을 줄일 수 있다. : 다형적 표현이 가능하다. //다형적 표현 : 하나의 객체가 여러 모양으로 표현되는 것. //예시: A가..