swimminginthecode DIVE!

BACK 50

JAVA 10

익명 객체 자식 클래스가 재사용되지 않고, 오로지 특정 위치에서 사용할 경우에 사용하는 익명 자식 객체 익명 객체 사용해 보기 public class AnonyMain { public static void main(String[] args) { Saram saram = new Saram(); System.out.println(saram.getIr()); Person person = new Person(); Saram saram2 = person.getSaram(); System.out.println(saram2.getIr()); } } public class Saram { String ir = "김바보"; public String getIr() { return ir; } } public class Per..

BACK/JAVA Basic 2024.04.15

JAVA 09

인터페이스란 추상 메소드와 상수로 구성된 클래스로, 다중 상속이 가능하며 인스턴스할 수 없는 클래스 인터페이스 선언 접근제한자 interface 인터페이스이름 {} 구현 클래스 접근제한자 class 클래스이름 implements 인터페이스이름 {} 인터페이스에서 정의된 추상 메소드를 오버라이딩하는 클래스 추상 클래스와 인터페이스 구분 추상클래스 인터페이스 공통점 객체 생성 객체를 생성(인스턴스화)할 수 없다 추상 메소드 추상 메소드를 포함한다 기능적 목적 상속받는 클래스에서는 추상 메소드를 반드시 재정의하여 구현해야 한다 차이점 개념적 목적 상속받아서 기능을 확장시키는 데 목적이 있다 구현 객체의 동일한 실행 기능을 보장하는 데 목적이 있다 클래스 abstract class, 클래스다 interface,..

BACK/JAVA Basic 2024.04.12

JAVA 08

추상 클래스 클래스의 공통적인 특성을 추출해서 선언한 클래스 추상 클래스의 용도 1. 공통된 필드와 메소드의 이름을 통일할 목적 - 데이터와 기능이 모두 동일함에도 불구하고 객체마다 사용 방법이 달라짐을 방지하기 위함 2. 실체 클래스를 작성할 때 시간 절약 - 설계 규격을 만들어 배포함으로써 구체적인 요구 가능 추상 클래스 선언 [접근제한자] abstract class 클래스명 {} 추상 메소드에 대하여 추상 클래스는 실체 클래스가 공통적으로 가져야 할 필드와 메소드를 정의해놓은 추상적인 클래스로, 실체 클래스의 멤버(필드, 메소드)를 통일하는 데 목적이 있다. 하지만 메소드의 선언만 통일하고 실행 내용은 실체 클래스마다 달라야 할 경우, 추상 메소드를 선언할 수 있다. - 반드시 실행 내용을 채우도록..

BACK/JAVA Basic 2024.04.11

JAVA 07

상속 하나의 클래스가 다른 클래스를 포함하는 상위 개념일 때 두 클래스 사이에 일반화 관계가 존재하는데, 이런 일반화 관계를 상속 관계(is a kind of) 라고 한다 상속 선언 접근제한자 class 클래스이름 extends 상위클래스이름 오버라이딩(overriding) 부모와 같은 이름의 메소드를 선언하는 것 최상위 슈퍼 클래스 : object 모든 클래스는 자동으로 object 클래스를 상속받음 클래스 상속 개념에서 주의할 점 01 상위 클래스 타입 변수에 하위 클래스 주소를 치환할 수 있음 public class a extends b {} b c = a; // 가능 a c = b; // 불가능 a 클래스를 b 클래스의 하위 클래스로 지정했다고 가정했을 때, b type 을 가진 c 라는 변수에 ..

BACK/JAVA Basic 2024.04.05

JAVA 06

Singleton 객체의 인스턴스가 오직 한 개만 생성되는 패턴을 만들기 private static class01 class1 = new class01(); public static class01 getInstance() { return class1; } -> new 키워드를 사용하지 않고 main 에서 호출할 수 있게 하는 패턴 기본형과 참조형에서 주의할 점 기본형은 값 자체를 저장하고 참조형은 주소를 저장한다 -> 주소를 저장하는 참조형은 하나의 object을 참조하여 사용하는 것을 주의하여야 한다 객체지향프로그래밍 (oop) 특징 종류 특징 캡슐화 서로 연관 있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것 추상화 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 상속성 ..

BACK/JAVA Basic 2024.04.04

JAVA 05

Over loading이란? 한 개의 클래스 내에 이름이 같은 메소드를 여러 개 선언하는 것 Over loading 의 성립 조건 매개변수의 갯수, type, 순서가 달라야 하며 반환형과는 관계 없음 Over loading 의 예시 public class Example { private int a = 1; private double b = 2.0; private String c = "c"; public Example() { System.out.println("모두 알 수 없음"); } public Example(int a) { System.out.println("a : " + a + "/ b, c는 알 수 없음"); } public Example(double b) { System.out.println("..

BACK/JAVA Basic 2024.04.03

JAVA 04

접근지정자 종류 의미 + public · 같은 project 내에서 유효 · 다른 package에 있어도 유효 - protected · 같은 project 내에서 유효 · 다른 package에 있는 경우, 자식 클래스에서만 유효 default · 같은 package 내에서 유효 # private · 현재 class 내에서 유효 클래스 선언 [접근지정자][기타제한자] class 클래스이름 {} 예를 들어 이름이 a인 클래스를 선언한다고 하면, public class a {} main에서 클래스 사용하기 위 예시에서 선언한 a를 main에서 사용하기 위해 인스턴스화 a b = new a(); 이름 역할 a 보조기억장치에 있는 a.class를 주기억장치로 로딩 b 객체 변수 new 인스턴스화를 위한 키워드 a..

BACK/JAVA Basic 2024.04.02

JAVA 03

while문의 형식 while(조건) {실행문들...} while문은 for문과 다르게 블럭 내 증감치를 지정 while문을 활용한 무한 루프 while(true) {실행문들...} while문을 활용하여 문제 풀어 보기 키보드로 입력받은 숫자에 대해 1부터 시작하여 그 숫자까지 모든 수에 나누기를 시도하고, 나누어 떨어지는 경우(약수) 그 수를 출력 기타 : 0이나 음수를 입력하면 프로그램을 종료 Scanner sc = new Scanner(System.in); while (true) { System.out.print("입력 : "); int num = sc.nextInt(); if (num < 1) { System.out.println("정수만 입력 가능합니다"); break; } System.out..

BACK/JAVA Basic 2024.04.01

JAVA 02

if문을 활용하여 문제 풀어 보기 입장료 8세 이하, 65세 이상 무료 9세 이상, 20세 미만 3,000원 20세 이상, 65세 미만 5,000원 age = 10; int total = 0; if (9 12) { System.out.println("1 - 12 사이의 값을 입력해 주세요"); System.exit(0); } // 윤년이면 2월에 29일, 평년이면 28일을 부여하기 위해 연도 체크하기 // 2월 날짜를 위한 if문 if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // 4의 배수이자 100의 배수가 아니거나, 4의 배수이자 400의 배수임을 확인 days = 29; msg = "윤년"; } // 2월을 제외한 월의 날짜를 위한 swit..

BACK/JAVA Basic 2024.03.29

JAVA 01

System.out. 이후 println 과 print 의 차이 System.out.println("nice"); System.out.println("day"); console nice day System.out.print("nice"); System.out.print("day"); console niceday 주석의 종류 // // 이후 주석 처리 (한 줄) /* */ /* 부터 */ 까지 주석 처리 (여러 줄) 영역 선택 후 ctrl + / 선택한 영역 일괄 주석 처리 변수의 종류 분류 특징 예약어 기본형 값을 직접 기억함 boolean, byte, char, short, int, long, float, double 참조형 주소를 기억함 String etc 변수 선언 방법 type 변수명 = 값; 기..

BACK/JAVA Basic 2024.03.28