package ex02_ArrayList; import java.util.ArrayList; public class ArraylistMain { public static void main(String[] args) { // Collection // 요소(Element)라고 불리는 가변 개수의 객체들의 잡합 // (기본 자료형을 저장하는 것은 불가능 int, double, float안됨) 객체만을 저장 // 여러 개의 객체 보관할 수 있게 만들어진 클래스들의 잡합 // 고정 크기의 배열을 다루는 불편함 해소 // 요소의 개수에 따라 자동 크기 조절 // 요소의 추가, 삭제에 따른 요소의 이동자동관 // 제네릭(generic) 기법으로 구현 // Collection의 한 종류인 ArrayList // - 가..
My Tech Blog (Java)
package ex01_객체배열;public class Pokemon { // 포켓몬 자료형 // 1. 필드 public static final Pokemon pikachu = null; // 이름 private String name; // 타입 private String type; // 공격력 private int atk; // 체력 private int hp; // 스킬 private String skill; // 2. 메서드 // 모든 필드를 초기화시킬 수 있는 생성자 public Pokemon(String name, String type, int atk, int hp, String skill) { this.name = name; this.type = type; this.atk = atk; ..
package ex01_객체배열;import java.util.Arrays;public class Main { public static void main(String[] args) { // 1. 객체 배열 // 배열이란? // --> 동일한 자료형을 하나로 묶어서 관리해주는 자료구조 // 배열 선언 방법 // 자료형[] 변수명 = new 자료형[크기]; // 나만의 자료형 // 포켓몬 데이터를 3개 저장 할 수 있는 bag 배열 생성 Pokemon[] bag = new Pokemon[3]; // 포켓몬은 래퍼런스 변수타입 - null(기본값) // new는 래퍼런스 변수 생성하는 키워드 // bag 0번 방에 피카츄 데이터를 저장 // 피카츄, 전기, 5000, 500..
1. Model (모델) package ex03_뮤직플레이어; public class Music { // Model : 데이터를 가지고 있는 객체 private String title; // 노래제목 private String singer; // 가수 private String path; // 노래 저장 경로 public Music(String title, String singer, String path) { this.title = title; this.singer = singer; this.path = path; } // (2) getter 메소드 public String getTitle() { return title; } public String getSinger() { return singer; }..
준비물 : jar파일 Music클래스 (필드값, 메서드) package ex03뮤직플레이어; public class Music { // 자료형 // 1. 필드(속성, 데이터) private String title; // 노래제목 private String singer; // 가수 private String path; // 노래저장경로 // 2. 메서드(로직, 행위) //생성자 public Music(String title, String singer, String path) { this.title = title; this.singer = singer; this.path = path; } //getter생성 public String getTitle() { return title; } public String..
✅ this 키워드 의미 자바에서 this 키워드는 현재 객체를 가리키는 참조 변수입니다. = this 키워드는 자기 자신을 가리킴. = 인스턴스가 자기 자신의 주소를 반환하는 경우 사용 여기서 "현재 객체"란 현재 메서드가 호출되고 있는 객체를 의미합니다. 클래스의 인스턴스가 생성될 때마다 각 인스턴스는 고유한 메모리 공간을 가지며, 이를 객체라고 합니다. 따라서 메서드가 호출될 때마다 해당 메서드가 속한 객체를 지칭할 수 있어야 합니다. ✅ this 키워드의 쓰임 인스턴스 변수와 로컬 변수 구분: 메서드 내에서 인스턴스 변수와 로컬 변수의 이름이 충돌할 때, this를 사용하여 인스턴스 변수에 접근할 수 있습니다. 이를 통해 명확하게 변수의 범위를 구분할 수 있습니다. 다른 생성자 호출: 하나의 생성..
여러분들은 프로그래밍할 때 스코프를 의식하고 하시나요? 프로그래밍에서 스코프는 유지보수성에 큰 영향을 줍니다. 1. Scope(스코프)란? 자바에서 스코프(scope)란 변수나 메서드의 유효 범위를 말한다. 즉, 변수나 메서드가 어디에서 접근할 수 있는지를 결정한다. 스코프는 중괄호 {}로 둘러싸인 코드 블록에 의해 결정된다. 어떠한 범위 밖에 둔 변수 등은 일반적으로 그 이름만으로는 참조할 수 없다. 이 때 이런 변수는 '스코프 밖에 있다.', '안 보인다.'라고 말한다. '보인다'라는 것은 그것들이 프로그램에서 사용될 수 있다는 뜻이다. 변수라면 변수명을 지정해 값을 읽고 쓸 수 있고, 메소드라면 호출해 사용할 수 있다. '사용할 수 있다'라는 것은 그것들에 '의존한다'는 뜻이다...
✅ 1. swtich-case문 1.1 사용법 Switch(변수) { case 값1: 명령1; break; case 값2: 명령2; break; default: 명령; break; } if - else if 문 대신 swtich-case문을 쓰면 각 case별 처리를 한 눈에 알아 볼 수 있어서 깔끔하다는 장점이 있다. 1.2 예시 1등은 금메달, 2등은 은메달, 3등은 동메달, 나머지는 참가상을 출력하는 프로그램 만들기 int rank = 2; switch(rank) { case 1: System.out.println("당신은 금메달"); break; case 2: System.out.println("당신은 은메달"); break; case 3: System.out.println("당신은 동메달"); ..