본문 바로가기

전체 글

(143)
SCM, VSC, and 분산형 저장 시스템 Git(계속) 소프트웨어 형상 관리 SCM SW Config Mgt 버전관리시스템 VCS Ver Ctr Sys VCS에는 Git과 SVN 등이 있다. ⭐Git 분산형 저장 시스템 ⭐ SVN 중앙 집중형 저장 시스템 💀SVN은 안정성 문제.. 싹 날아갈 위험이 존재 👍그래서 원격지에 저장해 안정성을 높인 Git이 등장하게 됐다. git은 데이터를 논리적인 3가지 상태로 분류한다. working directory => staging area => repository ===> remote저장소 안에 또 저장소를 쓸 수 없다. git clone 주소(git에 있는 코드들을 오프라인 폴더로 가져온다.)⭐빈 공간에만 쓸 수 있다. git init (git 폴더 만들어짐)git status(폴더 상태 확인)git -M mai..
인터페이스 Interface, 동작을 정의하는 추상타입 ⭐인터페이스 Interface 객체의 동작을 정의하는 추상타입으로 클래스가 구현할 메서드의 설계도를 제공한다. 👍다형성 👍 유연성 👍 코드재사용성을 높일 수 있다. 예제 1)인터페이스(동물 )클래스(새,개)설계를 통해 인터페이스 사용법을 알아봤다. public interface Animal { //인터페이스}public class Bird implements Animal { //구현클래스}public class Dog implements Animal { //구현클래스}package com.interface_.animal;/** * 4.23 인터페이스 * * How * Interface를 선언하면 된다. * 여기 안에 선언된 메서드는 * 모두 추상메서드가 돼야 한다. * * Why? */public..
추상 클래스 Abstrct class, 부모클래스를 만들지만 객체로 만들기는 싫을때 ⭐추상 클래스 abstract class 추상 메서드를 포함한 클래스 상속에서 사용되는 개념으로 객체로 만들기는 좀 애매할때 사용한다. class 앞에 abstract가 붙으면 된다. ⭐추상 메서드 선언부만 있고 바디가 없는 형태 예 int add(int x, int y); void 앞에 abstract가 붙으면 된다. 추상클래스를 (동물 - 인간, 호랑이) 관계를 통해 이해해봤다.package com.abstract_.animal;/** * 4.22 5교시 추상클래스 * * 추상클래스 * abstract class * * 하나 이상의 추상 메서드를 포함한 클래스 * class 앞에 abstract가 뭍으면 추상클래스다. * * 강제적으로 타입으로만 설계하는 기법이다. * * abstract - 강제..
다형성 Polymorphism, 유연한 코드 작성을 위한 개념 ⭐다형성 Polymorphism 하나의 데이터 타입을 다양한 형태로 바라볼 수 있다는 개념 한 요소가 여러 형태를 가질 수 있다는 가능성을 가리킨다.⭐ 다형성의 장점은부모 타입으로 자식 클래스를 인스턴스화 할 수 있다는 점이다.이는 자바의 굉장한 기능이다. 다형성을 이해한다면 유연한 코드를 작성할 수 있다. 예제) 동물 클래스를 인간, 호랑이 클래스가 상속하게 하자package com.polymorphism;/** * 4.22 3교시 다형성 */public class Animal { public void move() { System.out.println("동물이 움직인다"); } public void eat() { System.out.println("동물이 먹는..
연관관계 Association, 포함관계와 비슷하지만 느슨한 개념 ⭐연관관계 Association 두 클래스가 독립적으로 존재하면서 서로를 참조하거나 협력하는 관계 클래스 간의 느슨한 결합 두 객체의 생명주기는 종속되지 않는다. (생명주기 = 선언~GC) ex)학생과 과목선수와 팀이는 폭넓은 개념인데 포함관계도 연관관계의 일부다. ⭐ 내부에서 객체가 생성될 때 따로 포함관계라고 한다 1. 학생 클래스 설계package com.association;/** * 4.22 2교시 연관관계 * * 학생과 과목 클래스의 연관관계를 만들어본다 */public class Student { //member private String name; private Course course; //연관관계 //constructor public Student(Strin..
접근제어지시자 private(-) public(+) protected(#) ⭐접근제어지시자 + public default - private # protected # protected 접근제어지시자의 한 종류 자식클래스에서만 접근 가능하게 해준다.package com.inheritance.animal;/** * 4.22 1교시 상속 심화 * xxx.java 파일에는 public을 가진 클래스는 오직 하나만 존재할 수 있다. *///부모 클래스class Animal { /* protected 접근제어지시자의 한 종류 자식클래스에서만 접근 가능하게 된다. */ protected String name; void bark() { System.out.println(name + " 짖는 중"); } void eat() { ..
포함관계 Composition, 상속과는 다르다. ⭐포함관계Compositon 한 클래스가 다른 클래스를 포함하는 관계다. "has a" ⭐ 강한 연관성(필수적) 단, 상속과는 다르다 포함관계를 이해하기 위해 차와 엔진을 코드로 간략히 구현해봤다. 차와 엔진은 강한 연관성(필수적)을 가지고 있다. 1. 엔진package com.composition;/** * 4.21 포함개념 8 */public class Engine { //멤버변수설계 String name; int price; //메서드 void start() { System.out.println("start() 엔진을 구동합니다."); } void stop() { System.out.println("stop() 엔진을 정지합니다.");..
상속과 메서드 오버라이드를 통한 쇼핑몰 회원정보 수정 요청사항. 고객 클래스.고객 ID고객 이름고객 등급포인트할인율 VIP고객 클래스.전용 할인율전용ID GOLD고객 클래스.전용 할인율전용ID 코드 실행부. 1. 고객 클래스 설계//멤버변수//static//constructor//getter//setter//methodpackage com.inheritance;/** * 4.21 상속개념 7 * 클래스 다이어그램 준수해야 한다. */public class Customer { //member private int customerID; private String customerName; private String customerGrade; private int bonuspoint; private double bonusRatio..