Java

자료구조_알고리즘/코딩테스트

[백준/JAVA] 7568번 덩치 (브루트포스, 구현)

문제 설명 코딩테스트 초보라서.. 맨 처음에 Map으로 해야 하나.. List로 해야 하나 고민했다. (2차원배열을 쓰면 되는데..) 그러다가 그냥 Man이라는 클래스를 하나 만들어서 몸무게, 키, 나보다 큰 사람 수 세개의 필드를 만들고 입력받은 값으로 Man 객체를 생성해서 List에 넣고 for문을 돌며 비교하는 방법을 생각해 냈다. 이후에 다른 사람의 풀이를 찾아보니 간편하게 배열로 푸는 것을 보고 배열로도 풀어봤다. 입, 출력은 BufferedReader, StringTokenizer, StringBuilder를 이용해서 풀었다. 풀이 1 전체 코드 더보기 public class No7568 { public static void main(String[] args) throws IOExceptio..

JAVA & Spring/JAVA 이론

[JAVA] 상속

상속 (Inheritance) 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 구현한다. 기존의 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 상속을 이용함. 기본 문법 (Parent 클래스를 상속받은 Child 클래스) extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 (단일 상속) class Child extends Parent{ //필드 //메서드 } 상위 클래스 : 하위 클래스보다 더 일반적인 개념과 기능을 가짐 하위클래스 : 상위 클래스보다 더 구체적인 개념과 기능을 가짐 하위 클래스가 상위 클래스의 속성과 기능을 확장(extends) 자식클래스 Child에서는 부모클래스 Parent의 메서드와 멤버변수 등을 ..

JAVA & Spring/JAVA 이론

[JAVA] static과 final

static 키워드 : 공통으로 사용하는 변수가 필요한 경우 사용 여러 인스턴스가 공유하는 기준값이 필요한 경우 인스턴스가 생성될 때 만들어지는 변수가 아니고, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 클래스 변수, 정적 변수라고 도 함 ( 인스턴스 변수 ) 인스턴스 생성과 상관없이 사용하므로 클래스 이름으로 직접 참조 1. static 변수 ex) 학생이 생성될때마다 학번을 1씩 증가시켜서 저장해 줌 public class Student { private static int studentNum=10000; private int studentName; private int studentID; // Student 객체를 생성할 때마다 studentNum++ 하여 studentID로 설정해준다. p..

JAVA & Spring/JAVA 이론

[JAVA] 접근 제어 지시자( private, protected, default, public) / 정보은닉, 캡슐화

1. 접근 제어 지시자(access modifier) 클래스 외부에서 클래스의 멤버변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 public > default > protected > private public : 클래스의 외부 어디에서나 접근 가능 default : 같은 패키지 내부에서만 접근 가능 protected : 같은 패키지나 상속관계의 클래스에서 접근 가능 / 그 외에서는 접근 불가 private : 같은 클래스 내부에서만 접근가능 2. get() , set() 메서드 private으로 선언된 멤버 변수에는 접근할 수 없다. >> 접근, 수정할 수 있는 메서드를 public으로 제공 get() 메서드만 제공되는 경우 : read-only field 이클립스에서 [shift ..

JAVA & Spring/JAVA 이론

[JAVA] 생성자 / 오버로딩(overloading)

1. 생성자 (Constructor) 생성자 : 사용할 클래스의 변수를 미리 초기화해준다. 매개변수, 구현부가 없다. this.(필드명) : Car 클래스 내의 필드 default 생성자 : 클래스에 생성자를 구현하지 않아도 new 키워드로 생성자를 호출할 수 있음. - 클래스에 생성자가 하나도 없어도 컴파일러가 default 생성자 코드를 넣어준다. - public Car(){ }; class Car{ public String color; public int speed; //default 생성자 public Car(){} //생성자 Car(String color, int speed){ this.color = color; this.speed = speed; } } main에서 호출할 때 - 방법 1 pu..

Database/데이터 접근 기술

[MyBatis] 마이바티스 기본 사용법

MyBatis란?MyBatis는 JdbcTemplate이 제공하는 대부분의 기능을 제공한다. 그러나 JdbcTemplate의 문제점 중 하나인 여러 줄의 String 형 sql을 작성해야 한다는 점을 MyBatis를 이용하여 해결할 수 있다.MyBatis는 SQL을 xml에 편리하게 작성할 수 있고, xml 내에서 동적 쿼리를 매우 편리하게 작성할 수 있다. JdbcTemplate은 스프링에 내장된 기능이고, 별도의 설정 없이 사용할 수 있지만, MyBatis는 약간의 설정이 필요하다. 따라서 동적쿼리와 복잡한 쿼리를 많이 사용하는 경우에는 MyBatis를 사용하고, 단순한 쿼리들이 많다면 JdbcTemplate을 사용하는 것이 좋을 것이다.  2024.07.31 추가단순한 도메인 관련 엔티티를 불러오는..

JAVA & Spring/Java Library

[Java / Spring] Lombok 롬복

Lombok이란? Lombok이란 반복되는 메서드를 Annotation을 사용해서 자동으로 작성해 주는 Java의 라이브러리이다. 보통 Model, Entity의 경우 여러 속성이 존재하고, 이들의 속성들에 대해 Getter Setter 등의 메서드를 반복해서 작성해줘야 하는 경우가 많다. Lombok은 이 부분을 Annotation으로 대체하여 코드를 생성해 준다. Lombok을 이용해서 작성한 코드는 컴파일 과정에서 IDE가 Annotation을 이용해서 코드를 생성하고, 그 코드가. class에 담기게 되는 것이다. 귀찮은 반복 작업을 줄여준다는 점에서 매우 편리하고, 많이 사용하지만 남용해서는 안된다. 다른 라이브러리와의 충돌이 발생할 수도 있고, 내가 원하는 대로 동작하지 않을 수도 있기 때문이..

JAVA & Spring

[Java] StringTokenizer

StringTokenizer 문자열을 지정된 구분자를 기준으로 나눠주는 클래스이다. 구분자로 나눈 결과물들을 Token이라고 한다. ex) 010-1234-5678에서, 010, 1234, 5678 온 Token이고, ‘-’은 구분자이다. 1. 생성자 StringTokenizer(String str) default 구분자를 이용한다. default 구분자는 공백이다. ( 띄어쓰기" " 또는 \t, \n, \f, r 등 ) StringTokenizer(String str, String delim) 지정해 준 구분자로 문자열을 분리 delim : delimiter의 약자 StringTokenizer(String str, String delim, boolean returnDelims) returnDelims=..

HSRyuuu
'Java' 태그의 글 목록 (7 Page)