분류 전체보기

Java

[Java] 접근제한자(private)

클래스, 멤버 변수, 메서드, 생성자에서 사용 가능 private = 외부에서의 호출 불가, 같은 클래스 내에서만 접근 가능 public = 접근 제한 없음 (default) = 같은 패키지 내에서 접근 가능 protected = 같은 패키지 내에서, 다른 패키지의 자식 클래스에서 접근 가능 기본적으로 private로 세팅하고 외부에 공개할 것만 public 보통 클래스 안의 변수는 private로 하고 세팅용, 접근용 메서드를 사용하여 접근함 class Main { public static void main(String[] args) { 사람 a사람 = new 사람(); a사람.setId(20); System.out.println("제 번호는 " + a사람.getId() +" 입니다."); // 출력 ..

Java

[Java] 인터페이스

인터페이스 인터페이스를 사용하여 자바의 다형성을 극대화할 수 있다. 다중 상속 가능 추상 메서드와 상수만 사용 가능 생성자 사용 불가 : 인터페이스 객체가 아니므로 생성자 사용 불가 메서드 오버라이딩 필수 : 자식클래스는 부모 인터페이스의 추상메서드를 모두 오버라이딩 해야함 인터페이스에는 private 사용 불가능 public class Main { public static void main(String[] args) { 사람 a사람 = new 홍길동(); 변호사 a변호사 = (변호사)a사람; 치과의사 a치과의사 = (치과의사)a사람; 성화봉송자 a성화봉송자 = (성화봉송자)a사람; } } abstract class 사람 { } class 홍길동 extends 사람 implements 변호사, 치과의사,..

Java

[Java] 생성자(Constructor), super메서드

생성자(Constructor) 객체가 생성될때 자동으로 호출되는 특수 목적의 메소드로 객체의 초기화를 위해 사용 생성자 메서드의 이름은 클래스 이름과 같아야함 생성자는 객체가 생성될 때 자동으로 한번 호출됨 클래스에 최소 1개는 존재해야하고, 생성자를 작성하지 않았다면 기본 default 생성자를 자동으로 생성 생성자 오버로딩 가능 : 하나의 클래스 안에 같은 이름의 생성자 메서드가 존재할 수 있지만 매개변수가 달라야 함 class 전사 { String 이름; int 나이; 전사() { // 생성자 이름 = 전사; 나이 = 20; } 전사(String 이름, int 나이) { // 생성자 오버로딩 } } 생성자 연쇄 호출 모든 class는 Object클래스의 자식클래스. 모든 클래스는 default 생성..

알고리즘/기타

[프로그래머스] 삼각형의 완성조건(1) - Java

https://school.programmers.co.kr/learn/courses/30/lessons/120889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요. 문제 풀이 import java.util.Arrays;..

Java

[Java] ArrayList 클래스와 ArrayList 메서드

​ ArrayList 클래스 import java.util.ArrayList; ArrayList import 필요 ​ ArrayList 메서드 삽입, 추출, 개수 .add(인덱스, 값) 리스트의 특정 인덱스에 값 삽입 .get(인덱스) 리스트의 특정 인덱스의 값 추출 .size() 리스트의 개수를 반환 항목 삭제 .remove(객체) 리스트에서 객체에 해당되는 항목을 삭제하고 삭제한 결과(true, false)를 반환 .remove(인덱스) 리스트에서 해당 인덱스의 항목을 삭제하고 삭제한 항목을 반환 list.remove(Integer.valueOf(1)) // 인덱스가 아닌 객체 -> value가 1인 element 삭제 ​ 검색 list.contains(객체) 리스트 안에 객체가 있는지 여부 검색 l..

Java

[Java] Arrays 클래스와 Arrays 메서드

Arrays 클래스 import java.util.Arrays; Arrays import 필요 Array 메서드 arrays.asList(arr) : 배열을 ArrayList로 변환 (리스트 형태) - 아래의 ArrayList 메소드를 더하여 활용 가능하다 배열 출력 Arrays.toString(arr) : 배열의 출력 Arrays.deepToString(arr) : 다차원 배열의 출력 배열 복사 Arrays.copyOf(arr, arr.length) : 배열 전체 복사 Arrays.copyOfRange(arr, 시작인덱스, 끝인덱스) : 배열의 일부를 복사 배열 정렬 Arrays.sort(arr) : 사전순 정렬 sort(arr, comparator) : 오름차순/내림차순 정렬 comparator에 C..

GIT

[GIT] .gitignore 파일 생성

.gitignore 파일은 git 버전관리에서 제외할 파일 목록을 지정하는 파일이다. 아래는 인텔리제이 자바에 맞는 gitignore 코드이다. 프로젝트 루트폴더에 .gitignore 파일로 추가하면 된다. https://www.toptal.com/developers/gitignore/api/intellij,java # Created by https://www.toptal.com/developers/gitignore/api/intellij,java # Edit at https://www.toptal.com/developers/gitignore?templates=intellij,java ### Intellij ### # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpSt..

GIT

GIT 명령어 정리

로컬저장소(로컬 리포지터리) : 내 PC에서 관리하는 git 저장소 원격저장소(원격 리포지터리) : 로컬 저장소를 업로드하는 곳 (GitHub) 작업폴더(디렉터리) : 현재 작업하고 있는 폴더 Staging Area : 작업 폴더에서 변경 내용을 기록하는 곳 (commit 전에 올려두는 공간) commit하면 git 저장소로 내용 저장 화살표 ↑ ↓ : 사용한 명령어 다시 사용 GIT 초기 설정 git config --global init.defaultBranch main git config --global user.name "본인 깃허브 ID" git config --global user.email 깃허브 가입시 사용한 이메일 로컬 저장소 생성, 삭제 git init 로컬 리포지터리 생성. 현재 디렉토..

GIT

TDD를 위한 assertThat 라이브러리 추가

테스트 자동화 테스트 자동화는 수많은 기능을 테스트할 때 사람이 아니라 기계가 테스트하는 방법. 시간, 비용 절약 가능. 테스트의 정확성과 신뢰성 높일 수 있음. TDD 개발 방법론 TDD(Test Driven Development)는 테스트를 먼저 작성하고 이를 통과하는 코드를 작성하는 개발 방법론. Red 단계에서는 실패하는 테스트 코드를 먼저 작성한다. Green 단계에서는 테스트 코드를 성공시키기 위한 실제 코드를 작성한다. 최대한 빠르게 작업 작업시간이 10분이 넘지 말아야 함 5분 추천 꼼수를 써도 됩니다. Blue 단계에서는 중복 코드 제거, 일반화 등의 리팩토링을 수행한다. 다시 1단계 부터 반복 assertThat 활성화를 위해 그래들로 라이브러리 추가 testImplementation ..

Java

[Java] 상속과 구성

객체지향은 중복코드를 없애기 위해서 존재한다. 객체지향적인 구조를 위해서 일부러 중복코드를 허용하는 경우도 있다. 다형성 = 같은 타입이지만 실행결과가 다양한 객체를 이용할 수 있는 성질. 하나의 타입에 여러 객체를 대입하여 만든다. 상속(Inheritance) 부모클래스를 상속하는 자식클래스는 부모클래스의 기능을 그대로 물려받아 중복코드를 제거할 수 있다. 이후 유지보수가 편해지며 다형성을 구현할 수 있는 장점이 있다. 자식클래스에 메서드를 추가하여 부모클래스의 기능을 확장할 수 있다. extends 키워드 사용 class 오리 { void 날다(); void 수영하다(); } class 흰오리 extends 오리{ void 걷다(); } IS-A 관계 흰오리는 오리이다 처럼 말할 수 있는 관계를 IS..

jny0
'분류 전체보기' 카테고리의 글 목록 (17 Page)