Back-end/Java (89) 썸네일형 리스트형 [Java - 기본] Section4 - 문제와 풀이 ✅ Book과 생성자 🔔 문제 설명 BookMain 코드가 작동하도록 Book 클래스를 완성하세요. 특히 Book 클래스의 생성자 코드에 중복이 없도록 주의하세요. ✏️ 예시 코드 구조 package construct.ex; public class Book { String title; // 제목 String author; // 저자 int page; // 페이지 수 // TODO 코드를 완성하세요. } package construct.ex; public class BookMain { public static void main(String[] args) { // 기본 생성자 사용 Book boo1 = new Book(); book1.displayInfo(); // title과 author만을 매개변수로 받.. [Java - 기본] 생성자 - 오버로딩과 this() ✅ 생성자 - 오버로딩 생성자도 메서드 오버로딩처럼 매개변수만 다르게 해서 여러 생성자를 제공할 수 있다. ✏️ MemberConstruct - 생성자 추가 package construct; public class MemberConstruct { String name; int age; int grade; // 추가 MemberConstruct(String name, int age) { this.name = name; this.age = age; this.grade = 50; } MemberConstruct(String name, int age, int grade) { System.out.println("생성자 호출 name: " + name + ", age: " + age + ", grade: " + g.. [Java - 기본] 기본 생성자 ✅ 기본 생성자 매개변수가 없는 생성자를 기본 생성자라 한다. 클래스에 생성자가 하나도 없으면 자바 컴파일러는 매개변수가 없고, 작동하는 코드가 없는 기본 생성자를 자동으로 만들어준다. 생성자가 하나라도 있으면 자바는 기본 생성자를 만들지 않는다. ✏️ MemberDefault package construct; public class MemberDefault { String name; } ✏️ MemberDefaultMain package construct; public class MemberDefaultMain { public static void main(String[] args) { MemberDefault memberDefault = new MemberDefault(); } } MemberDefa.. [Java - 기본] 생성자 - 도입 ✅ 생성자 - 도입 프로그래밍을 하다보면 객체를 생성하고 이후에 바로 초기값을 할당해야 하는 경우가 많다. 따라서 앞서 initMember(…)와 같은 메서드를 매번 만들어야 한다. 그래서 대부분의 객체 지향 언어는 객체를 생성하자마자 즉시 필요한 기능을 좀 더 편리하게 수행할 수 있도록 생성자라는 기능을 제공한다. 생성자를 사용하면 객체를 생성하는 시점에 즉시 필요한 기능을 수행할 수 있다. 생성자는 앞서 살펴본 initMember(…) 메서드와 유사하지만 몇 가지 다른 특징이 있다. ✏️ MemberConstruct package construct; public class MemberConstruct { String name; int age; int grade; MemberConstruct(Strin.. [Java - 기본] this ✏️ MemberInit - initMember() 추가 package construct; public class MemberInit { String name; int age; int grade; // initMember() 추가 void initMember(String name, int age, int grade) { this.name = name; this.age = age; this.grade = grade; } } package construct; public class MethodInitMain3 { public static void main(String[] args) { MemberInit member1 = new MemberInit(); member1.initMember("user1", 15.. [Java - 기본] 생성자 - 필요한 이유 ✅ 생성자 (Constructor) 객체를 생성하는 시점에 어떤 작업을 하고 싶다면 생성자(Constructor)를 이용한다. 먼저 생성자가 왜 필요한지 코드로 알아보자. ✏️ MemberInit package construct; public class MemberInit { String name; int age; int grade; } ✏️ MethodInitMain1 package construct; public class MethodInitMain1 { public static void main(String[] args) { MemberInit member1 = new MemberInit(); member1.name = "user1"; member1.age = 15; member1.grade = 9.. [Java - 기본] Section3 - 정리 ✅ 객체 지향 프로그래밍 vs 절차 지향 프로그래밍 객체 지향 프로그래밍과 절차 지향 프로그래밍은 서로 대치되는 개념이 아니다. 객체 지향이라도 프로그램의 작동 순서는 중요하다. 다만 어디에 더 초점을 맞추는가에 둘의 차이가 있다. 객체 지향의 경우 객체의 설계와 관계를 중시한다. 반만 절차 지향의 경우 데이터와 기능이 분리되어 있고, 프로그램이 어떻게 작동하는지 그 순서에 초점을 맞춘다. ✏️ 절차 지향 프로그래밍 절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 쉽게 이야기해서 실행 순서를 중요하게 생각하는 방식이다. 절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉 “어떻게”를 중심으로 프로그래밍 한다. ✏️ 객체 지향 프로그래밍 객체 지향 프로그래밍은 이름 그대.. [Java - 기본] Section3 - 문제와 풀이 ✅ 절차 지향 직사각형 프로그램을 객체 지향으로 변경하기 🔔 문제 설명 다음은 직사각형의 넓이(area), 둘레 길이(perimeter), 정사각형 여부(square)를 구하는 프로그램이다. 이 프로그램을 객체 지향으로 변경해보자. 🔔 요구 사항 절차 지향 프로그래밍 방식으로 되어 있는 코드를 객체 지향 프로그래밍 방식으로 변경해라. Rectangle 클래스를 만들어라. RectangleOopMain에 해당 클래스를 사용하는 main() 코드를 만들어라. ✏️ 절차 지향 코드 package oop1.ex; public class RectangleProceduralMain { public static void main(String[] args) { int width = 5; int height = 8; i.. 이전 1 ··· 5 6 7 8 9 10 11 12 다음