본문 바로가기

2023.11.21-2024.05.31

231219 JAVA Inheritance(상속 + 접근제어자 protected) package com.sukgi.inheritance; //상속 + 접근제어자 protected import dec19.Test03; //1 코드량 줄이기 //2 클래스간 관계를 만들어서 활용하기 = 다형성 class Animal extends Test03 { protected String name; private int age; public void sleep() { testNumber = 10; System.out.println(testNumber + "animal이 잠을 잡니다"); } } class Cat extends Animal { protected int catNumber; public void change() { testNumber = 10; } @Override public void sl.. 더보기
231218 JAVA Animal, Cat, Dog, Zoo 이 코드는 Animal 클래스를 정의하고 있습니다. 여기서 Animal 클래스는 동물을 나타내며, 이름(name), 나이(age), 품종(breed), 체력(hp)을 나타내는 필드를 포함하고 있습니다. 또한, 생성자를 통해 동물이 태어날 때 초기화되는 작업이 이루어집니다. Animal 클래스: package com.sukgi.inheritance; public class Animal { String name; int age; String breed; int hp; public Animal(String name, int age) { System.out.println("동물이 태어납니다."); this.name = name; this.age = age; } } 필드 (Fields): String name: .. 더보기
231218 JAVA Inheritance(상속) package com.sukgi.inheritance; //상속 //현실에서는 부모가 자식에게 물려주는 행위 //자식은 부모의 모든 것을 자신의 것처럼 사용합니다. //310P // 자바에서는 부모와 자식 클래스를 만들고 서로 연결합니다. //부모의 코드를 모두 내려받아서 자식이 자신의 것 처럼 씁니다. //왜? class A { int field1; void method1() { } } class B extends A {// 자식 B가 부모 A를 상속한다 int field2; void method2() { } } class C extends B { } public class Inheritance { public static void main(String[] args) { A a = new A(); B .. 더보기
231218 JAVA static02(인스턴스 멤버, 정적 멤버) // staitc non-static /* * staitc은 non-static을 부를 수 없습니다. non-static은 static을 부를 수 잇습니다. non-static은 * this를 쓸 수 있습니다. static은 this를 쓸 수 없습니다. * * static은 클래스를 만든 직후 사용가능합니다.(인스턴스 X) * non-static은 인스턴스 생성 후 에 사용합니다. * * 딱 하나만 만들어서 써야할 때 * 데이터베이스 접속 정보(id, pw, url) */ package static01; //사용해보기 class Car { final static double PI = 3.14; String model; String color; int speed; int id; static int numb.. 더보기
231218 JAVA static01(인스턴스 멤버, 정적 멤버) package static01; //2023-12-18 프로그래밍 언어활용(12/26) 270ㅔ //인스턴스 멤버 정적 멤버 /* * static 키워드 * static 정적 이라는 의미가 있습니다. * 자바에서는 정적 개념과 동적 개념이 있습니다. * 쉽게 표현하면 정적은 클래스가 로드되는 시점을 말합니다 * 동적은 로드된 클래스가 실행된 이후를 말합니다. * * * 이 중 객체는 동적 데이터라고 해서 프로그램이 실행된 이후에 발생하는 대표적인 형태입니다. * * 인스턴스 멤버 * 인스턴스 생성시 가지게 되는 자신의 변수 * 인스턴스명.변수명 으로 호출 * 인스턴스를 생성한 후에 사용해야 합니다. * 인스턴스 * new 있어야 쓸 수 있다. * * 정적 멤버 * 모든 객체가 공동적으로 사용하는 변수 *.. 더보기
231218 JAVA Human AM02(접근제어자 연습) 접근 제어자는 클래스의 멤버(필드, 메서드 등)에 대한 접근 권한을 지정하는 데 사용됩니다. 이 Human 클래스 package com.sukgi.access; //접근제어자 연습 public class Human { String name; int age; public Human() { } void sleep() { System.out.println("zzzz"); } } String name;과 int age;은 따로 접근 제어자가 명시되지 않았으므로, package-private(default) 접근 레벨을 가집니다. 즉, 같은 패키지 내에서는 접근 가능하지만 다른 패키지에서는 접근할 수 없습니다. public Human() {}은 public 생성자입니다. 다른 클래스에서 이 생성자에 접근 가능합니.. 더보기
231218 JAVA Access Modigiers(접근제어자) package com.sukgi.access; //접근제어자 Access Modigiers /* * 자바에서는 접근제어자를 통해 각 api의 접근 권한을 제한할 수 있습니다. * 어렵지 않습니다. * * 아래는 접근제어자의 범위를 크기 순서대로 나열해 둔 것입니다. * * public > protected > default(비어있는것) > private * * 이 중 public은 이미 보았습니다.(모두 접근 가능이라는 의미) * * public : 가장 넓은 범위로써 패키지 제한 없이 모두 접근 가능한 상태 * * protected : 같은 패키지에서 접근 가능, * 다른 패키지에서는 상속받은 자식 클래스/ 인터페이스일 결우 가능 * * default : 아무것도 안 붙은 형태 * 아무런 접근 제한을 .. 더보기
231218 JAVA jinMaker package com.poseidon.jini; import java.util.Scanner; public class jinMaker { // JINI 클래스의 인스턴스를 생성합니다. JINI jini = new JINI(); Scanner sc = new Scanner(System.in); //사용자 입력을 받기 위한 Scanner 객체 생성 public jinMaker(){ // 생성자 // 안녕, 날자, 이름, 시간, 나가기 while (jini.isQute) { // JINI 객체의 isQute 메소드가 true인 동안 반복합니다. System.out.println("명령어를 입력하세요."); String result = sc.next(); //사용자의 입력을 받아옵니다. jini.scheck(r.. 더보기