본문 바로가기

JAVA

(25)
231220 Java 자바 인터페이스 package com.poseidon.inter; // 인터페이스 /* 자바 기초, 제어문, || 객체 지향 프로그래밍 -> 클래스, 메소드, 상속, 추상화 * 자료 구조 : R/P 타입, 배열, 스트링, SB * 알고리즘 : * * 상속 -> 추상화 -> 인터페이스 * class interface * 단일상속 다중상속 * * * 인터페이스는 다른 언어에서 찾기 힘든 자바의 고급 기능 * 왜, 어떻게 사용하는지, 특징 설명 * * 인터페이스 란 ? * 클래스 : 일반 메소드를 가질 수 있음 * 추상 클래스 : 일반 메소드와 추상 메소드를 가질 수 있음 * 인터페이스 : 오직 추상 메소드만 가질 수 있음 * 인터페이스 내에 존재하는 메소드는 무조건 public abstract 로 선언 (a..
231219 Java 접근 제어자 복습 package com.poseidon.access; public class Test02 { public static void main(String[] args) { A a = new A(); A.number = 10; System.out.println(A.number); // 클래스명.static 필드명, static 은 객체 없이도 사용 가능 a.number = 100; System.out.println(a.number); // 100 출력 System.out.println(A.number); // 100 출력, static 필드는 한개만 존재 // B b = new B(); // 생성 불가 B b = B.getInstance(); B b2 = B.getInstance(); B b3 ..
231218 Java static 에 대해 공부 클래스 내부의 인스턴스에 static 이 붙으면 객체를 생성하지 않고도 인스턴스 호출 가능 class Cat { static String name; public static void print() {} } public class Static01 { public static void main(String[] args) { Cat.name = ""; Cat.print(); } } 인스턴스 변수와 정적 변수 /* 인스턴스 멤버(static X), 정적 멤버(static O) * static 키워드 * static 은 정적 이라는 의미가 있음 * 자바에서는 정적 개념과 동적 개념이 있음 * 쉽게 표현하면 정적은 클래스가 로드되는 시점, 동적은 클래스가 실행된 이후 * 이 중, 객체는 ..
231215 Java 객체지향 /* 생성자 * 생성자란 클래스가 인스턴스화 되어질 때 인스턴스를 생성시켜주는 코드 * * 생성자는 이 외에도 아래가 같은 기능이 있음 * 1. 클래스의 인스턴스 생성 * 2. 멤버 필드 초기화 * 3. 필요에 따라 초기화 메소드를 실행 * * 생성자 없이는 인스턴스를 발생시틸 수 없음 * * 생성자의 형식 * 메소드와 유사하게 생김. 하지만 메소드와 기능적인 부분에서 차이가 있음 * 1. 생성자 이름은 반드시 클래스 이름과 같아야 함 * 2. 메소드가 아니기 때문에 리턴 타입을 선언할 수 없음 * * 기본 생성자 (Default Constructor) * 자바에서는 모든 클래스마다 컴파일 시 기본 생성자를 자동으로 넣어줌 * 단, 클래스에 생성자가 하나라도 있으면 기본 생성자를 제공하지 않음 * 기본 ..
231214 Java 객체지향 클래스 안에 새로운 메소드 만들어서 호출하기 public class HelloWorld { public static void main(String[] args) { HelloWorld helloWorld = new HelloWorld(); for (int i = 0; i < 10; i++) { helloWorld.hello(); } } public void hello(){ System.out.println("Hello ~"); } } 신규 클래스 선언 및 클래스 내부 설정 class Cat { // 클래스 안에 필요한 3가지 // 속성 : 변수 String name; // 초기화를 하지 않음 int aggressive = 50; // 생성자 : 인스턴스를 생성할 때 사용하는 메소드 public Cat(S..
231213 Java String substring 명령어 public static void main(String[] args) { String email = "0123456@naver.com"; System.out.println(email.indexOf("@")); // 해당 글자의 위치를 알려주는 명령어 System.out.println(email.substring(3)); // substring(), 3번 인덱스부터 문자열 끝까지 리턴하는 명령어 System.out.println(email.substring(0,email.indexOf("@"))); // 0번 인덱스부터 "@" 가 위치한 인덱스 이전까지 리턴 System.out.println(email.substring(email.indexOf("@"))); // "@..
231212 Java 코딩도장 UP & DOWN 숫자 맞추기 게임 public static void main(String[] args) { int random = (int) (Math.random() * 100 + 1); Scanner sc = new Scanner(System.in); int count = 1; System.out.println("컴퓨터가 1 ~ 100 중 랜덤 숫자 하나를 정합니다."); System.out.println("이 숫자를 맞춰주세요."); while (true) { System.out.print("1 ~ 100 숫자 입력 : "); int temp = sc.nextInt(); if (temp > random) { System.out.println("DOWN"); count++; } else i..
231211 Java while 로 점수 입력받기, 범위를 벗어나면 다시 입력받기 public static void main(String[] args) { boolean run = true; int score; Scanner sc = new Scanner(System.in); while (run) { System.out.println("점수를 입력하세요. ( 0 ~ 100 )"); System.out.print("입력 : "); score = sc.nextInt(); if (score 100){ System.out.println("올바른 숫자가 아닙니다. 다시 입력해주세요"); continue; } run = false; } System.out.println("프로그램 종료"); } 가위바위보를 w..