Java (83) 썸네일형 리스트형 연관관계 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.. 메서드 오버라이드 Method Override, 상속받은 메서드 덮어쓰기 메서드 오버라이드Method Override 부모클래스의 메서드를 자식클래스에서 재정의 하는 것이다. 💀 문법 주의 부모클래스의 메서드 이름과 매개변수 개수 및 타입 즉, 모양이 동일해야 한다. 한편 xxx.java 파일 하나에 여러 클래스를 선언할 수 있다. 단 스코프는 분명히 구분된다. 또한 단 하나의 자바파일에 public 클래스는 오직 하나만 존재할 수 있다.package com.inheritance;/** * 4.21 2강 상속개념 5 * *선임이 작성한 코드라고 가정한다 */public class Cal { //메서드를 만들어보자 public int sum(int n1, int n2) { return n1 + n2; } public int multiply(i.. 클래스의 상속 Inheritance, 기존 클래스 속성과 기능을 이어받다 상속 inheritance 기존의 클래스를 확장하여 새로운 클래스를 정의하는 메커니즘을 말한다. 부모가 자식에게 재산을 물려주듯 미리 작성해둔 클래스의 1.속성과 2.메서드를 물려줄 수 있다. 부모클래스(상위,수퍼) 자식클래스(하위,차일드) 기능이 더 큰 쪽은 자식클래스 쪽이다.(부모기능 + 자식기능) 상속 개념은 기존의 코드를 변경하지 않고 활용하고 싶을 때 활용한다.package com.inheritance;/** * 4.21 2강 상속개념 1 * * 선임이 작성한 코드라고 가정한다 */public class A { String name; int height; int weight; int age; }//end of Apackage com.inheritance;/** * 4... 메서드 오버로딩 Method Overloading, 자바의 편리한 기능 메서드 오버로딩이란 Methos Overloading 같은 이름의 메서드를 여러개 정의하는 것을 말한다. 같은 기능을 하는 메서드를 하나의 이름으로 통일할 수 있다. 이는 자바의 좋은 기능으로 메서드 오버로딩이 없으면 이름짓느라 너무 힘들어지게 된다. 메서드 오버로딩의 대표적인 예가 print 메서드다.print() 안에 어떤 형태의 매개변수든 담을 수 있다.연습.add 함수를 만들고 다양한 매개변수를 넣어봤다.package com.overloading;/** * 4.21 1강 메서드 오버로딩 * * * 메서드 오버로딩이란? * 같은 이름의 메서드를 여러개 정의하는 것 */public class Calculator { //덧셈 메서드 만들기 public int add(int a, int b).. 실수) sysout 안에 sysout을 넣어 발생한 오류 메서드를 호출하는 방법을 배우던 중영문을 알 수 없는 오류가 발생했다.나중에 알고보니 단순한 문제였다. 결론은sout 안에 void 값을 넣을 수 없다 sout 안에 sout을 또 넣을 수 없다. //반복문을 활용해 배열 안에 있는 질럿들에 showInfo를 호출하시오for (int i = 0; i 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음