본문 바로가기

전체 글

(285)
클래스 설계 예제 package thirdJava; //[우리가 클래스를 만들기 위해서는 4가지 STEP 이 필요합니다! // //1.만들려고 하는 설계도를 선언합니다(클래스 선언) //2.객체가 가지고 있어야할 속성(필드)를 정의합니다. //3.객체를 생성하는 방식을 정의합니다.(생성자) //4.객체가 가지고 있어야할 행위(메서드)를 정의합니다. public class Car { // String company; //자동차 회사 String model; //자동차 모델 String color; //자동차 색 double price; //자동차 가격 double speed; //자동차 속도, km/h char gear; //기아상태(P, R, N, D) boolean lights; // 자동차 조명의 상태 // //..
객체와 클래스 객체와 클래스 우리는 객체를 생성하기 위해서 설계도가 필요합니다. 현실세계에서는 자동차를 만들기 위해 자동차 설계도를 토대로 자동차를 생산합니다. 마찬가지로 소프트웨어에서도 객체를 만들기위해서는 설계도에 해당하는 클래스가 필요합니다. 이때 클래스를 토대로 생성된 객체를 해당 클래스의 ‘인스턴스’라고 부르며 이 과정을 ‘인스턴스화’라고 부릅니다. 동일한 클래스로 여러 개의 인스턴스를 만들 수 있습니다.
객체지향 프로그래밍의 특징 캡슐화 캡슐화란 속성(필드)와 행위(메서드)를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것을 의미합니다. 외부 객체에서는 캡슐화된 객체의 내부 구조를 알 수 없기 때문에 노출시켜 준 필드 혹은 메서드를 통해 접근할 수 있습니다. 필드와 메서드를 캡슐화 하여 숨기는 이유는 외부 객체에서 해당 필드와 메서드를 잘못 사용하여 객체가 변화하지 않게 하는데 있습니다. Java에서는 캡슐화된 객체의 필드와 메서드를 노출 시킬지 감출 지 결정하기 위해 접근 제어자를 사용합니다. 상속 객체지향 프로그래밍에는 부모 객체와 자식 객체가 존재합니다. 부모 객체는 가지고 있는 필드와 메서드를 자식 객체에 물려주어 자식 객체가 이를 사용할 수 있도록 만들 수 있습니다. 위 같은 행위를 상..
객체지향 프로그래밍 객체란? 객체는 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미합니다. 예를 들자면 물리적으로 존재하는 자동차, 도서관, 계산기를 객체라 볼 수 있습니다. 강의, 배달 주문, 운동과 같은 개념적인 것 또한 식별이 가능하기 때문에 객체라 볼 수 있습니다.. 객체는 속성과 행위로 구성이 되었습니다. 자동차의 속성과 행위를 표현해 보겠습니다. 자동차는 회사, 모델, 색상, 가격, 속도 등의 속성을 가질 수 있습니다. 자동차는 가속, 브레이크, 기어변속, 조명, 경적등의 행위를 가질 수 있습니다. Java 에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현할 수 있습니다. 이처럼 현실 세계에 있는 객체를 소프트웨어의 객체로 설계하는 것을 ‘객체 모델링’이라고 부릅니다. 객체 간의 관계 현실세계에서..
231013_TIL 오늘 한 일 자바 공부 오늘 한 일 (회고) - 연산자와 산술변환, 조건문, 반복문, 배열, 컬렉션에 대해 공부하였다. - 대입연산자에서 주의할점은 ++,--를 앞에 붙이면 계산전에 되지만 뒤에 붙이면 계산 뒤에 된다는 점이다. - 조건문 Switch 문에서 case 의 연산문 마지막에 break; 를 안넣어주면 case 의 연산문이 안 끝났기때문에 switch 문 블럭이 끝날때 까지 전부 실행된다. - break; 명령을 호출하면 가장 가까운 블럭의 for 문 또는 while 문을 중단합니다. (또는 switch) 반복문 안에서 break; 형태로 사용합니다 - continue 명령 for 문 또는 while 문에서 해당 순서를 패스하고 싶을때 continue 명령을 사용합니다. 반복문 안에서 cont..
자료구조 요리 레시피 메모장 만들기 package secondJava.collection; import java.util.*; public class Col07 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String collectionName = sc.next(); String title = sc.next(); switch (collectionName) { case "List": ArrayList strList = new ArrayList(); while (true) { // 한줄씩 입력받아서 strList 에 저장 String text = sc.next(); if (Objects.equals(text, "끝")) { break; } str..
Map 예제 package secondJava.collection; import java.util.HashMap; import java.util.Map; public class Col06 { //1. Map // 여태까지 value 값들만 넣어서 관리하는 분류통(자료구조)를 배웠다면 Map 은 key-value 구조로 구성된 데이터를 저장할 수 있습니다. // - 특징 // - key-value 형태로 데이터를 저장하기 때문에 기존에 순번으로만 조회하던 방식에서, key 값을 기준으로 vlaue를 조회할 수 있습니다. // - key 값 단위로 중복을 허용하지 않는 기능을 가지고 있습니다. // - `Map` 은 그냥 `Map`으로 쓸수도있지만 `HashMap`, `TreeMap`등으로 응용하여 사용할 수 있습..
Set 예제 package secondJava.collection; import java.util.HashSet; import java.util.Set; public class Col05 { //📌 `Set` // 순서가 없는 데이터의 집합 (데이터 중복 허용 안함) - 순서없고 중복없는 배열 // - 순서가 보장되지 않는 대신 중복을 허용하지 않도록 유지할 수 있습니다. // - `Set` 은 그냥 `Set`으로 쓸수도있지만 `HashSet`, `TreeSet` 등으로 응용하여 사용할 수 있습니다. // - `Set` 는 생성자가 없는 껍데기라서 바로 생성할수는 없습니다. (껍데기 = 인터페이스) // - 생성자가 존재하는 클래스인 `HashSet` 를 사용하여 `Set` 를 생성해서 받을 수 있습니다. //..