생활코딩 26

생활코딩 JAVA 상속 - 상속과 생성자 (+수업을 마치며)

5. 상속과 생성자 - Cal을 계승했다면, Cal이 인스턴스로 계승될 때 반드시 해야하는 일이 생성자에 들어 있음 > 따라서, 생성자를 Cal3도 당연히 실행해야 계승되는 것 >> 생성자가 있는 클래스를 상속받았다면, 부모 클래스를 반드시 생성자를 만들어 호출해야 함 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 class Cal{ int v1,v2; Cal(int v1, int v2){ System.out.println("Cal init!!"); this.v1 = v1; this.v2 = v2; } public int sum() {return this.v1+v2;} } class Cal3 extends Cal{ Cal3(int v1, ..

Java 2023.01.09

생활코딩 JAVA 상속 - Overriding vs Overloading / this & super

3. Overriding vs Overloading - Overriding : 올라타서 덮어쓰다, 재정의하다. - Overloading : 과적하다, 너무 많이 탑재하다. - java는 같은 이름의 메소드를 여러 개 과적할 수 있음 > 형태만 다르다면! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 class Cal{ public int sum(int v1, int v2) { return v1+v2; } //Overloading public int sum(int v1, int v2, int v3) { return v1+v2+v3; } } class Cal3 e..

Java 2023.01.09

생활코딩 JAVA 상속 - (수업소개+)기능의 개선과 발전

1. 수업소개 - inheritance : 상속은 어떠한 클래스가 있을 때, 클래스가 가지고 있는 변수와 메소드를 확장해서 다른 클래스가 갖도록 하는 것 > 재사용성을 높이고 유지 보수의 편의성, 가독성을 높이고 코드의 양을 줄이는 목표를 달성할 수 있음 - class Cal3 extends Cal{ > Cal 클래스를 상속받은 클래스 Cal3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 class Cal{ public int sum(int v1, int v2) { return v1+v2; } } class Cal3 extends Cal{ } public class InheritanceApp { public static void m..

Java 2023.01.09

생활코딩 JAVA 객체 지향 프로그래밍 - 생성자와 this / 클래스와 인스턴스의 활용 (+수업을 마치며)

7. 생성자와 this - 생성자 : 어떤 클래스가 복제되었을 때(즉, 인스턴스가 생성되었을 때), 초기에 즉각적으로 바로 어떤 일이 처리되게 하거나, 어떤 값을 주입받도록 하기 위해 사용할 수 있는 유용한 메소드 기능 - FileWriter f1 = new FileWriter("data.txt"); > 위처럼 남의 클래스를 만들 때, FileWriter라는 클래스에 new를 붙여 인스턴스를 만듦 > class를 호출할 때 "data.txt"라는 값은 우리가 수정하고자 하는 파일의 이름 > 파일을 수정하는 행위를 나타내는 FIleWriter라는 클래스는 수정하고자 하는 대상이 꼭! 지정되어야 함 > 파일을 지정하는 행위를 까먹거나 나중에 하게 되면 문제가 생길 수 있기 때문에, 인스턴스를 생성하는 과정에..

Java 2023.01.09

생활코딩 JAVA 객체 지향 프로그래밍 - 인스턴스 / static

5. 인스턴스 - 원형이 'class', 원형인 class를 복제한 것들이 'instance' - new Print(); > Print라는 클래스를 '복제/분신술'한 아바타인 instance가 만들어지는 것 > 이러한 인스턴스가 Print라는 타입이고, delimiter가 -표다. Print p1 = new Print(); p1.delimiter = "----"; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public class MyOPP { public static void main(String[] args) { Print p1 = new Print(); p1.delimiter = "----"; p1.A(); p1.A(); p1.B(..

Java 2023.01.09

생활코딩 JAVA 객체 지향 프로그래밍 - 변수와 메소드 / 클래스

3. 변수와 메소드 * 메소드 지정 System.out.println("----"); System.out.println("A"); System.out.println("A"); 위의 코드를 Refactor > Extract Method > 이름 printA로 지정 * 별표의 구분자를 추가하기 위해서는? 각각의 변수에 매개변수(parameter)을 준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 public class MyOPP { public static void main(String[] args) { delimiter = "----"; printA(); printA(); printB(); printB(); ..

Java 2023.01.08

생활코딩 JAVA 객체 지향 프로그래밍 - (수업 소개+) 남의 클래스 & 남의 인스턴스

1. 수업소개 - 객체 지향 프로그래밍 : JAVA Object Oriented Programming - method = function = subroutine = procedural = 절차 지향 프로그램 = procedural programming > 메소드를 이용해서 작은 부품을 만들고, 이것을 결합하여 더 큰 프로그램을 만들어가는 테크닉 > 대표적으로 C언어에서 이 패러다임을 따르고 있지만, 몇몇 엔지니어들은 메소드 만으로 부족함을 느낌 > 연관된 메소드와 변수들을 결합하여 이름을 붙이고 정리정돈한 것이 '클래스' >> 클래스를 중심으로 프로그램의 구조를 만들어가는 컴퓨터 프로그래밍 방법론이 '객체 지향 프로그래밍' - 이 수업을 통해 코드를 단정하게 정리정돈할 수 있게 되고, 인스턴스를 만들 수..

Java 2023.01.08

생활코딩 JAVA method - 메소드의 활용 (+수업을 마치며)

6. 메소드의 활용 - 메소드를 활용해 처리 방법에 이름을 붙일 수 있다면, 코드를 더 단정하게 정리할 수 있음 > 낯선 코드를 만나도 코드의 취지를 단번에 알 수 있음 - 메소드를 통해 코드의 가독성을 획기적으로 높일 수 있으며, 작성한 메소드는 호출이 가능하기 때문에 재사용이 가 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class AccountingApp { // 공급가액 public static double valueOfSupply = 10000.0; // 부가가치세율 public static double vatRate = 0.1; public static double getVAT() { return valueOfSupp..

Java 2023.01.07

생활코딩 JAVA 입문편 - 나의 앱 만들기2

14.6 나의 앱 만들기 - 조건문 - 제어문을 통해 프로젝트를 개선해보기! > 자바의 제어문은 조건문/반복문으로 크게 두 가지 - 조건문은 어떤 기준에 따라 변수가 달라지고 그에 따라 결과가 달라지는 경우에 사용함 - income이 만 원보다 작을 때는 dividend1이 돈을 다 가져가고, 만 원 보다 클 경우에는 5:3:2로 나눠야 하면? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 public class AccountingIFApp { public static void main(String[] args) { double valueOfsupply = Doub..

Java 2023.01.03

생활코딩 JAVA 입문편 - 나의 앱 만들기

14.1 나의 앱 만들기 - 오리엔테이션 - 최소한으로 배워서 최대한으로 사용하는 사례가 되도록, 알고 있는 것 만으로도 충분히 많은 일을 할 수 있다! - 물건을 판매하는 사업을 하고 있다고 할 때, 각종 세금 및 비용을 제외한 이익을 동업자들에게 공평하게 나눠주는 작업을, 물건을 팔 때마다 해야 하는 상황에 있다고 할 때, 자바를 사용해서 해결한다면? - 공급가(Value of supply) : 10000 - 부가가치세(Value Added Tax) : 1000 - 비용(expense) : -3000(30%) - 이익(income) : 7000 - 배당(dividend) : 5:3:2 = 3500:2100:1400 14.2 나의 앱 만들기 - 기본 기능 구현 1 2 3 4 5 6 7 8 9 10 11..

Java 2023.01.02