java 31

객체지향 프로그래밍

📢 객체지향 프로그래밍의 4가지 주요 특징- 정보 처리 시험에 많이 나온다. (영어로도)추상화 (Abstraction) 핵심적인 부분만 보여줌으로써 복잡성을 줄임.구현된 부분과 구현되지 않은 부분을 분리.자식 클래스에서 구현해야 할 부분을 정의. 캡슐화 (Encapsulation)데이터 보호를 위해 정보 은닉을 실현.멤버 변수를 private으로 숨기고 메서드를 통해 접근.데이터와 메서드를 하나의 단위로 묶어 관리. 상속 (Inheritance)코드 재사용 및 확장을 용이하게 함.기존 클래스를 상속받아 수정함으로써 중복 코드를 줄이고 유지보수를 쉽게 함. 다형성 (Polymorphism)동일한 코드가 여러 객체 형태로 실행될 수 있도록 함.입력 객체에 따라 다른 결과를 생성하여 유연성과 확장성을 제공...

백엔드/Java 2024.10.14

Java로 로또 추첨기 만들기

📢 로또 추첨기- 사용자 로또번호 자동생성(auto), 수동(입력받아서) 번호 저장- 당첨번호를 입력받음- 결과를 확인 📢 프로그램 구조Lotto 클래스🔷 필드numbers[]: 사용자의 로또 번호를 저장하는 배열.st: 회차 정보.🔷 메서드random(): 1~45 범위의 랜덤 숫자 생성randomLotto(): 6개의 랜덤 번호 생성(중복X)isContain(int num): 배열에 숫자 중복 여부insertNumbers(int arr[]): 수동으로 입력된 번호를 배열에 저장toString(): 객체 출력 LottoExtend 클래스🔷 필드bonus: 보너스 번호🔷 주요 메서드randomLotto(): 기본 번호 생성 후 보너스 번호 추가insertNumbers(int[] arr, int..

백엔드/Java 2024.10.12

Java 인터페이스

📢 인터페이스? 인터페이스: 자바에서 추상 메서드와 상수(final)로만 이루어진 타입.추상 메서드: 메서드의 선언부만 있고, 구현부가 없는 메서드.인터페이스나 추상 클래스에 포함된 추상 메서드는 반드시 구현해야 객체를 생성할 수 있음.키워드interface: 인터페이스를 정의할 때 사용.extends: 인터페이스 간의 상속을 나타냄.implements: 클래스가 인터페이스를 구현할 때 사용.특징추상 클래스: 대부분 상속을 위해 사용됨.인터페이스: 기능 요약서 역할을 함.멤버 변수 없음: 인터페이스는 멤버 변수를 포함하지 않음. 따라서 메서드 시그니처만 정의해야 함.상속: 다중 상속 불가능 (부모는 하나).구현: 다중 구현 가능.동시 사용: 상속과 구현을 동시에 가능. 📢 실습interface Pow..

백엔드/Java 2024.10.11

Java 상속(Extends)

📢 상속?상속은 한 클래스가 다른 클래스의 속성과 기능을 물려받는 개념.- 이를 통해 코드의 중복을 줄이고, 공통된 기능을 한 곳에서 관리 가능.   👉🏻 부모 클래스: 속성과 메서드를 가지는 기본 클래스.  👉🏻 자식 클래스: 부모 클래스로부터 속성과 메서드를 상속받아 추가적인 속성과 메서드를 가질 수 있는 클래스. 📢 실습(1)class A { private int a, b, c; // 나만 사용 가능 protected int num1; // 상속 가능 public void print() { System.out.println("a:" + a + ", b:" + b + ", c:" + c); System.out.println("num1:" + num1..

백엔드/Java 2024.10.07

Java로 카드 게임 만들기

- 카드 클래스를 생성하여 카드 한 장 만들기- 52장의 카드를 포함하는 카드 묶음 만들기- 카드를 섞고 나누는 기능 📢 개별 카드(card)를 생성하는 클래스 숫자 (num): 1부터 13까지의 값. 1은 A, 11은 J, 12는 Q, 13은 K로 표시모양 (shape): ♦, ♥, ♣, ♠public class Card { private int num; private String shape; public Card() { this.num = 1; // 기본 숫자 A this.shape = "♥"; // 기본 모양 ♥ } public void print() { System.out.print(shape); switch (num)..

백엔드/Java 2024.10.01

Java 클래스(Class) (2)

📢 생성자👉🏻 클래스는 객체 지향 프로그래밍에서 객체를 생성하기 위한 템플릿.👉🏻 자바에서 객체를 생성할 때는 생성자를 사용한다.👉🏻 생성자는 객체의 초기화를 담당하며, 클래스명과 동일한 이름을 가진다.👉🏻 기본 생성자: 클래스에 생성자가 없으면 기본 생성자가 자동 생성. 하나 이상의 생성자가 정의되면 기본 생성자는 제공되지 않는다.👉🏻 생성자 오버로딩: 동일한 클래스 내에서 매개변수의 개수나 타입이 다른 여러 개의 생성자를 정의할 수 있다. 📢 실습(1)자동차의 속성과 동작을 정의하는 Car Class 생성// Car 클래스 생성// 멤버변수 : name, color, year, power, speed => private 선언 (getter/ setter 생성)// 소나타(블랙/2..

백엔드/Java 2024.09.30

Java 클래스(Class) (1)

📢 클래스란?- 객체를 생성하기 위한 설명서, 설계도(청사진)- 객체를 사용하기 위해서는 먼저 클래스를 정의하고, 그 클래스로부터 객체를 생성해야 한다. 📢 클래스의 구성 요소멤버 변수: 객체의 상태를 나타내는 변수메서드: 객체의 기능이나 행동을 정의하는 함수 📢 객체 생성 클래스명 객체명 = new 클래스명(); Lotto l = new Lotto(); // Lotto 클래스의 객체 l 생성  📢 클래스와 메서드 사용법 - 같은 클래스 내에서 메서드 호출: 메서드명();- 다른 클래스에서 메서드 호출: 객체명.메서드명();- static 메서드: 클래스명 또는 객체명을 통해 호출 가능. 📢 접근 제어자 - private: 해당 클래스 내에서만 사용 가능- (default): 같은 패키지 내에서..

백엔드/Java 2024.09.29

Java로 로또 번호 생성기 만들기(1)

당첨 번호와 사용자의 로또 번호를 각각 생성하고, 일치하는 번호에 따라 등수를 확인하는 프로그램. public static void ranNum(int[] arr, int cnt) { for (int i = 0; i 랜덤 번호 생성 메서드 => 주어진 배열에 중복되지 않는 랜덤 번호를 생성하여 저장. public static boolean isNum(int[] arr, int num, int len) { for (int i = 0; i 중복 체크 메서드 => 배열에 특정 숫자가 존재하는지 확인 public static void print(int[] arr) { for (int i = 0; i 번호 출력 메서드 => 배열의 값 출력. 당첨번호의 마지막 번호(보너스)는 대괄호로 감싸서 표시 ..

백엔드/Java 2024.09.29

Java로 계산기 만들기

자바로 계산기 생성. 기능은 다음과 같다.- 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지, 종료📢 사칙연산 메서드 정의- 각 메서드는 두 개의 정수 a와 b를 매개변수로 받아 해당 연산의 결과를 출력- div와 mod는 두 번째 숫자가 0인지 확인하여, 0으로 나눌 수 없음을 처리 => 0으로 나누면 에러가 뜨므로public void sum(int a, int b) { System.out.println("결과👨: " + a + " ➕ " + b + " = " + (a + b));}public void sub(int a, int b) { System.out.println("결과👨: " + a + " ➖ " + b + " = " + (a - b));}public void mul(int a, int ..

백엔드/Java 2024.09.28