
환경변수 설정

SVN 연결 1. help → Eclipse MarketSpace → SVN 설치 2. svn connector 설치 help → install new software → Work with에 https://osspit.org/eclipse/subversive-connectors/ 해당 경로 입력 → 설치 3. File → other → SVN → R...

Eclipse에서 Git repository와 연결하는 법에 대해 작성한다.

클래스 변수와 인스턴스 변수 클래스 변수 → Static Field 인스턴스 변수 → Non-Static Filed 클래스 변수는 전역변수 처럼 쓸 수 있음 static 을 변수 앞에 사용 클래스 변수 선언 ▶︎ static int classVar = 10;

생성자 (Consturctor) > 클래스가 생성될 때 자동으로 클래스와 이름이 똑같은 생성자가 생성되도록 약속되어 있음 그 어떤 메소드보다 먼저 실행되며 초기화 작업을 함. 만약 생성자를 기입하지 않을 경우 자동으로 생성된다.

오버라이딩 하위 클래스가 부모 클래스의 기본적인 동작방법을 변경할 때 사용 -> 상위 클래스의 메소드를 추가하거나 변경하는 경우 ▶︎ 상위 클래스 Calculator 라는 클래스에서 sum 이라는 메소드를 실행하면 두개의 데이터를 더하는 구조다. 만약, 하위 클래스에서 sum 메소드에 기능을 추가하여 사용하고 싶을 경우 아래와 같이 Overr...

오버로딩 메소드의 매개변수 정의만 달라도 자바에선 다른 메소드가 된다. 이를 이용하여 기존 메소드를 가져와 메소드를 더 추가하여 사용하는 것을 오버로딩이라 한다. ▶︎ 기존 메소드 ▶︎ 오버로딩한 메소드 코드를 살펴보면 매개변수에 third 가 추가되었고, 이를

자바의 클래스는 쉽게 설계도로 생각할 수 있다. 설계도를 이용해 만든 객체는 인스턴스라한다. 그림 속 개발자가 설계도(클래스)를 활용해 여러개의 객체(인스턴스)를 만든다. 객체 지향 프로그래밍 개발은 세 가지 단계가 존재한다. >1. 클래스 설계 설계된 클래스를 이용해 사용할 객체를 생성 생성된 객체를 이용 그럼 클래스를 어떻게 선언하는지 알아본...

설명에 앞서 개발된 코드로 프로그램이 실행될 때 컴파일 방법과 인터프리터 방법이 존재한다. 컴파일과 인터프리터 컴파일은 프로그램이 실행 될 때 개발자의 코드를 기계어로 번역한 번역본을 컴퓨터에게 전달하는 방식이다. 대표적으로 JAVA , C 언어가 존재한다. 인터

예외처리 ▶︎ 예기치 못한 오류를 처리하기 위한 방법 예외 설명에 앞서 자바의 예외 클래스 상속 관계에 대해 그림으로 알아본다. 아래 이미지를 보면 위로 올라 갈수록 부모 클래스이고 아래의 예외들을 상속하고 있다는 의미이다. 이미지 속 예시로 ArithmeticE

다음과 같은 코드가 있을 때 인스턴스 a와 b는 같은 결과를 가져온다. 인스턴스가 생성될 때 인스턴스 변수에는 값 이 저장되는 게 아니라 값이 저장되어 있는 위치 가 저장된다. 따라서 위 코드를 보았을 때, 인스턴스 a 는 A(1)에 대한 값이 저장되어 있는 저장소의

백준 예제를 풀다가 nextLine()과 next() 메소드의 차이가 궁금하여 Scanner 클래스 사용에 대해 이번 기회에 정리하고자 한다.Scanner 클래스에 포함된 메소드는 매우 많다. nextLine() , nextInt() , next() ... 이렇게 다

필드에서 데이터 타입을 확정 시키고 싶지 않을 때 사용한다.클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법이다. 위의 코드르 봤을 때, Person 이라는 클래스의 매개변수가 기본 자료형이 아닌 T로 표기되어 있다. 생성자를 생성할 때 원하는 자료형을 사

값을 비교하는 의미로 봤을 때는 두개가 동등하다.하지만 자세히 보면 이 둘은 다른 메소드이다. 사용 예시a 와 b 의 값을 비교한다. 사용 예시a 와 b 의 주소값을 비교한다. 원시자료형의 경우에는 값의 비교가 되고, 객체 타입의 경우 주소값을 비교하게 된다.

텍스트 파일이나 키보드 입력과 같은 데이터를 효율적으로 읽기 위한 도구 InputStreamReader 을 이용하여 이와 같이 생성하면 키보드 입력을 받게 된다. readLine() 을 이용하여 한 줄씩 텍스트를 읽는다.Scanner와 다르게 줄바꿈만으로 입력된 데이터

개발 환경 \- Mac M3 Pro \- Eclipse IDE : 2021.06 \- JDK : 1.8.0_391 \- apache-tomcat-8.5.97 웹 프로젝트 구현을 위해 톰캣을 설치한다.Apache Tomcat 해당 사이트에 접속해서 좌측Do

해당 링크에서 원하는 버전을 클릭하여 플랫폼 독립적 선택하고 ZIP 파일을 다운로드한 후 원하는 위치에 압축을 풀어주면 된다.압축을 풀었다면 폴더 안에 .jar 파일을 복사하여본인이 원하는 프로젝트의 webapp -> WEB-INF -> lib 폴더 안에 .jar 파일

while true 문 안에 사용할 때 input으로 받은 값에 대한 토큰이 존재할 때 순서대로 실행되도록 한다. 토큰의 총 개수를 출력한다. 잘려진 토큰을 순서대로 반환한다.

HashMap <String, Integer> h1 = new HashMap <String, Integer>();HashMap <키 값의 자료형, 밸류 값의 자료형> 이름 = new HashMap <>();h1.put(Temp, h1.getOrDe

IntelliJ 로 개발 중 프로그램을 종료해도 서버가 꺼지지 않았다. 그렇기에 내부 톰캣 8080 포트 또한 꺼지지 않아 새롭게 추가된 내용이 update 되지 않고 재시작을 해도 Port 충돌 오류가 출력됐다.윈도우에서 이클립스로 개발할 땐 생각보다 간편하게 PID

▶︎ 메소드를 간단한 '식(expression)'으로 표현하는 방법일반적인 메소드람다식 (익명 함수)이와 같이 변형할 수 있으며 반환타입, 이름, return, ; 을 모두 제거하고,\-> 와 같은 화살표를 추가한다.클래스에 종속되어 있으면 메소드클래스 밖에 있으면 함

김영한의 자바 입문을 통해 학습한 내용을 정리하였다.int, long, boolean 과 같이 변수에 사용할 값을 직접 넣는 데이터 타입을 말한다. (모두 소문자로)데이터에 대한 값이 실제로 저장된다.데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입이다. (대

김영한의 자바 강의를 통해 학습한 내용임.데이터와 해당 데이터를 처리하는 메서드를 하나로 묶어서 외부에서의 접근을 제한하는 것을 말함.속성과 기능을 하나로 묶고, 외부에는 꼭 필요한 기능만 노출하고 나머지는 숨김.데이터기능 (외부에서 필요한 것만 오픈)모든 걸 숨겨라!

본인이 학습하며 알게된 유용한 단축어를 나중에 찾아보기 위해 다음과 같이 작성하고 계속 추가할 예정이다.sout => System.out.println();psvm => public static void main(String\[] args){}코드 실행다음 라인으로 이

Homebrew를 이용해 아래 두 명령어를 입력하여 다운로드한다.brew options subversionbrew install subversion 다음과 같이 다운로드가 되었다면, 다운로드된 경로를 Intellij 에서 설정해주면 된다.Version Control -

김영한의 자바 강의로 학습한 내용을 정리하였다.클래스 정보와 메서드 코드에 대한 내용이 보관된다.실제로 프로그램이 실행되는 곳. 메서드가 실행될 때 마다 하나씩 쌓인다.java의 프로그램 시작은 pulic static void main 으로 시작하기에 시작하자마자 쌓이

김영한의 자바 강의를 통해 학습한 내용을 정리하였다. 인스턴스 변수를 통해 값을 저장하거나 변경하려면 매번 인스턴스를 생성해야하고, 각 인스턴스마다 값이 개별적이다. 이러한 불편함을 static 을 통해 해결한다. static 이 선언된 멤버 변수는 힙 영역 이 아닌

알고리즘 연습할 때 자주 나오는 HashMap 에 대해 이번 기회에 정리해본다.맵(map) 인터페이스를 통해 해싱된 맵을 HashMap이라 부른다.맵 : Key와 Value로 구성된 Entry 객체를 저장하는 자료구조.하나의 Key에 대한 Value 값을 저장하기 위해

final 을 변수에 할당하면, 해당 변수는 값을 최초 한번만 초기화 할 수 있다. 메서드의 매개변수에 final 이 있다면, 메서드 호출 시점에 사용된 값이 변하지 않고 사용된다. 변수의 값을 변경하지 못하게 한다.필드에서 사용할 경우 예시이와 같이 사용하면 생성자를

기존 클래스의 필드와 메서드를 새로운 클래스에서 재사용하기 위해 상속을 한다. extends 키워드를 사용한다.<부모 클래스><자식 클래스>Car 클래스를 상속 받았기 때문에 move 란 메서드를 자식클래스에서 사용할 수 있다.ElectricCar 란 자식클

김영한의 자바 강의 내용을 듣고 정리한 내용입니다.'다양한 형태' 를 의미한다. 즉, 하나의 객체가 다른 타입으로 사용할 수 있는 기능을 말한다.먼저 이해하고 가야 할 부분으로, 부모 타입의 인스턴스가 메서드를 호출할 때 타입이 부모이기 때문에 부모 메서드를 참조하게

김영한의 자바 강의를 듣고 정리한 내용입니다.부모 클래스를 상속하는 자식 클래스들을 만들어 활용하는 법아래의 세 코드가 전부 같은 결과를 반환한다.

김영한의 자바 강의를 듣고 정리한 내용입니다. 이전 글의 Animal 클래스(부모 클래스)와 같이 생성되면 안되는 클래스를 의미한다. 인스턴스는 존재하지 않고 상속 목적으로만 사용된다. abstract 란 키워드를 클래스 앞에 선언하고 사용한다.추상 클래스처럼 abst

김영한의 자바 강의를 듣고 정리하였습니다.이전 글에서 이어지는 부분으로 만약 추상 클래스의 모든 메서드가 추상 메서드라면, 자바에서 인터페이스로 사용한다. 인터페이스는 모든 메서드에 대해서 새롭게 구현해야 되기에 상속이 아니라 '구현' 이라고 말한다. 쉽게 생각하면 틀

김영한의 자바 강의를 듣고 정리하였습니다.원래 자바에선 다중 상속이 불가능하다. 부모의 메서드에서 같은 이름의 메서드일 경우 어떤 메서드를 호출해야할지 모르기 때문이다. 하지만 인터페이스는 다중 구현이 가능하다.인터페이스로 이루어진 부모 클래스는 추상 메서드를 가지기

김영한의 자바 강의를 듣고 정리하였습니다.클래스의 상속은 '하나'만 가능하다하지만 인터페이스는 무한 구현(상속)이 가능하다.따라서 추상 클래스와 인터페이스를 한 번에 같이 상속할 수 있다. 예제를 통해 이해해 보도록 한다.추상클래스인터페이스자식 클래스 1 (클래스만 상

김영한의 자바 강의를 듣고 정리하였습니다.객체 지향 설계 원칙 중 하나이다.Open for extension : 새로운 기능의 추가나 변경 사항이 생겼을 때, 기존 코드는 확장할 수 있어야 함.Closed for modification : 기존 코드는 수정되지 않아야

예를 들어 int\[2]\[3] 2차원 배열이 존재한다고 했을 때, 아래 그림과 같다. 2차원 배열의 앞의 값은 참조 값이 저장된다. 각 참조값은 뒤의 값의 배열의 크기만큼 생성되어 있다.

비교하고자 하는 클래스에 Comparable 인터페이스를 구현하며, compareTo 메서드를 원하는 비교 방식으로 정의한다. 위와 같이 구현하였을 때, Arrays.sort를 하면 compareTo에서 정의된 방식으로 정렬된다. 따라서 오름차순 or 내림차순 정렬을