java 31

[Java] Singleton 패턴

Singleton 패턴 Class의 Instance가 오직 하나임을 보장, 정의된 접근 방식에 의해서만 접근. Singleton의 instance인 singleton을 private static으로 선언 후, 생성자를 priavate로 선언해서 생성 불가능하게 한다. 그 후 getSingleton() 메소드를 통해서만 Singleton instance를 생성할 수 있다.코드 public class Singleton { private static Singleton singleton; private static int n; public int nextNumber(int n) { this.n = n; return this.n++; } private Singl..

Java 2024.08.31

[Java] 10. Java에서의 상속

Chapter 1: 서브 클래스 작성클래스 확장슈퍼 클래스 멤버에 엑세스슈퍼 클래스 생성자 호출Chapter2: 메소드 구현가상 메소드(Virtual Method)메소드 오버라이딩final 메소드final 클래스Chapter 3: 인터페이스인터페이스 선언다중 인터페이스 구현인터페이스 메소드 구현인터페이스의 default 메소드인터페이스의 static 메소드 구현Chapter 4: 추상 클래스추상 클래스 선언클래스 계층 구조에서 추상 클래스 사용클래스 계층 구조에서 추상 클래스 사용(2)추상클래스와 인터페이스추상 메소드 구현Lab 10-1: 상속을 사용하여 인터페이스 구현Chapter 1: 서브 클래스 작성클래스 확장한 클래스(Super class)에서 파생되는 클래스(Sub class)를 생성.파생되는 ..

Java 2024.08.30

[Java] 09. 객체 생성과 제거

Chapter 1: 생성자객체 생성기본 생성자 사용생성자 오버라이딩생성자 오버로딩Chapter 2: 데이터 초기화초기화 목록상수 선언private 생성자static 생성자Lab 9-1 객체 생성Chapter 3: 객체와 메모리객체 생명주기객체와 범위가비지 컬렉션Chapter 1: 생성자 생성자: 객체 생성시에 객체를 초기화하는데 사용되는 메소드. 메소드 종료 2가지: ① 모든 statement 실행, ② return객체 생성메모리 할당: new 키워드를 사용하여 Heap 영역에 메모리 할당.생성자를 사용하여 객체 초기화: 클래스 이름과 괄호 사용.Date now = new Date(); 기본 생성자 사용클래스에 생성자를 명시적으로 작성하지 않으면 컴파일러가 기본 생성자가 제공한다.생성자 구문public클..

Java 2024.08.30

[Java] Getter / Setter 메소드

Getter / Setter 메소드는 객체 지향 프로그래밍에서 클래스의 캡슐화를 실현하는 중요한 도구다. Getter 메소드클래스의 private 필드에 저장된 값을 외부에서 읽을 수 있도록 한다.필드의 값을 반환한다.일반적으로 'get' 이라는 접두사를 붙이고, 뒤에 필드 이름을 붙여서 메소드 이름을 만든다. Setter 메소드클래스의 private 필드에 새로운 값을 할당(수정)할 수 있도록 한다.전달된 값을 필드에 할당한다.일반적으로 'set' 이라는 접두사를 붙이고, 뒤에 필드 이름을 붙여서 메소드 이름을 만든다. 코드public class Person { private String name; private int age; // Getter for name public Str..

Java 2024.08.28

[Java] 08. 참조 타입

Chapter 1: 참조 타입값 타입과 참조 타입 비교참조 타입 변수의 선언과 해제초기화되지 않은 참조 타입 변수값 타입의 비교와 참조 타입의 비교같은 객체에 대한 여러 변수의 참조메소드 파라미터에 참조 타입 사용Chapter 2: enum 타입enum 타입 선언enum 값 비교enum 타입 메소드enum 생성자Chapter 3: 공통 참조 타입Exception 클래스String 클래스String 클래스 메소드, 연산자String 값 비교String 비교 연산자Chapter 4: 객체 계층 구조Object 타입공통 메소드Chapter 5: Java 패키지Java 패키지 개요java.lang 패키지java.util 패키지java.io 패키지기타 유용한 패키지Lab 8-1 참조 타입 변수를 선언하고 사용Ch..

Java 2024.08.28

[Java] 06. 배열

Chapter 1: 배열 개요Java에서 배열 표기법배열의 차원배열 요소에 접근배열의 경계 검사배열과 컬렉션 비교Chapter 2: 배열 생성배열 인스턴스 생성배열 요소 초기화다차원 배열 요소 초기화가변 길이 배열계산된 크기를 가진 배열 생성배열 요소 복사Chapter 3: 배열 사용배열의 크기배열 메소드메소드에서 배열 return배열을 파라미터로 전달명령줄 인자데모: 명령줄 인자 사용foreach 문에서 배열 사용Lab 6-1: 배열의 생성과 사용Chapter 1: 배열 개요- 배열은 요소를 순서대로 모아서 관리하기 위해 만들어진 자료구조다.- 배열의 모든 요소는 같은 타입을 가진다.- 인덱스 0부터 시작하는 각각의 요소에는 정수 인덱스를 사용해서 access한다.- 자바의 모든 Type을 배열로 만들..

Java 2024.08.25

[Java] 배열의 출력, 비교, 복사, 정렬

import java.util.Arrays;Arrays 클래스는 배열을 조작하는데 유용한 다양한 메소드들을 지원한다.Arrays.toString(), Arrays.equals(), Arrays.indexOf(), Arrays.indexOfRange(), Arrays.sort(), Arrays.binarySearch(), Arrays.copyOf(), Arrays.copyOfRange(), Arrays.fill() 0. 배열의 복제: clone()Java의 배열 인스턴스는 clone() 메소드 하나만을 지원한다.대신 java.util.Arrays 클래스에서 배열과 관련된 유용한 메소드를 제공한다./* clone() 예시 */int[] row = {1,2,3,4};int[] row2 = row.clone()..

Java 2024.08.25

[Java] 05. 메소드와 파라미터*

Chatper 1: 메소드메소드 선언메소드 호출return statement지역 변수값 returnChapter 2: 파라미터(Parameter)파라미터 선언과 호출파라미터 전달 매커니즘Pass by Value, Pass by Reference가변 길이 목록 파라미터 사용재귀 메소드 사용Chapter 3: 메소드 오버로딩(Method Overloading)메소드 오버로딩 정의메소드 시그니처오버로드된 메소드 사용Lab 5-2 메소드 오버로딩Chatper 1: 메소드 Function(함수): 특정 값을 넣으면 반드시 계산 결과의 값을 반환.  Procedure(프로시저): 값을 반환하지 않고 절차만을 수행.(C 이후의 언어들은 2가지의 경계가 모호해져서 return이 있어야 함수인데 void를 사용해서 반환..

Java 2024.08.23

[코딩 문제] Palindrom

Palindrom거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열 등이다. 보통 낱말 사이에 있는 띄어쓰기나 문장 부호는 무시한다. 문제 입력받은 숫자가 palindrom인지 알려주는 코드를 작성하시오./* 입력받은 숫자가 Palindrom 인지 알려주는 코드 */public class Palindrom { public static boolean isPalindrom(int value) { int reverseNum = 0; int reminder; int originalNum = value; while (value != 0) { reminder = value % 10; reve..

코딩 문제 2024.08.23

[코딩 문제] TicTacToe 게임

문제틱-택-토(Tic-Tac-Toe)는 두 명이 번갈아가며 O 와 X 를 3x3 보드에 써서 같은 글자를 가로, 세로 혹은 대각선 상에 놓이도록 하는 놀이이다.아래 예시는 먼저 놓은 X가 이기는 경우이다.게임 방법은 아주 간단하다.종이 위에 가로줄과 세로줄을 각각 2개씩 긋는다.이렇게 생긴 9칸 위에 1P는 O , 2P는 X 를 번갈아가며 그린다.먼저 O 나 X 를 3개가 직선으로 이어지게 만들면 승리한다.컴퓨터와 사용자가 번갈아 Turn을 수행하여 승패를 가릴 수 있는 Tic Tac Toe 게임을 작성하라. 규칙3 x 3 배열을 사용하여 판(board)를 그린다.사용자 - 컴퓨터 - 사용자 순으로 각각의 Turn을 수행한다.Turn에서는 [X 좌표, Y 좌표] 순으로 숫자를 입력하여 수행한다. 예를 들..

코딩 문제 2024.08.23