반응형

OOP 9

태태개발일지(JAVA 상속)

요즘은 퇴근 길에 인프런 강의중 김영한 선생님의 Java 기본 강의를 듣고있다. 자바에 대한 완벽한 심화 강의는 아니지만, 그래도 JAVA를 앞으로 계속 사용할 거라 돈을 주고 구매한 후 쭉 듣는데 상속 부분에서 머리에 넣어야 할 부분이 생긴 것 같아서 글로 작성한다. https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8 학습 페이지 www.inflearn.com 상속의 개념. 상속 : 비슷한 속성을 가진 객체들의 부모를 만들어서 중복된 코드를 제거하고, 재사용성을 늘린다. 기존에 인지하던 상속? 사실 상속에 대해서 공..

JAVA 2024.01.09

객체지향 기본 공부

가장 기본이 되는 객체지향 간단한 프로그램을 메서드로만 빼서 구현 해 보았다 이제 시작이다 객체지향 덤벼라 package file; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("큰 값을 찾는 프로그램입니다."); System.out.println("두 수를 입력하세요: "); int x =sc.nextInt(); int y =sc.nextInt(); int max=findMax(x,y); System.out.printf("첫번째 문제 기능구현 Max: %d\n",max); System.out.p..

객체지향 2023.03.16

회고 13일차

객체지향의 가장 중요한 원리인 추상화 다형성 상속 캡슐화에 대해 모두배우고 이 원리를 모두 적용해 간단한 프로그램을 제작했다.여기서 깨달은 아주 중요한 원칙 3가지를 확인하면서 설명하겠다. 1. 한 클래스는 하나의 역할만 하게 끔 설계한다.ex) 장바구니 클래스는 주문의 역할을 맞게 할 필요가없다. 2. 한 클래스가 다른 클래스와 관계를 맺고 있을 때 그 다른 클래스의 직접적인 정보에 대해 알게 할 필요가 없다.ex) 자동차와 바퀴가 연관을 맺을 때 바퀴가 현대 바퀴인지 기아 바퀴인지 자동차 클래스가 알게끔 하면 안된다. 3. 공통적인 특성이나 속성을 모아 추상 클래스나 인터페이스로 모아 구현, 상속받게 한다.ex) 현대 자동차, 기아 자동차등 속성이 비슷한 상황이라면 중복코드를 줄이기 위해 위와 같은 ..

회고 12일차

오늘은 상속, 추상화, 캡슐화, 다형성을 모두 배웠고, 그것을 한반에 적용한 카페 키오스크 프로그래밍을 했다. 일단 개념만 정리하면 이렇다.추상화는: 공통점을 뽑아 내는 것이고,상속은 다중상속이 안되고 단일 상속만 가능하다.하지만 인터페이슨 다중 구현이 가능하다. 추상메서드인터페이스일반 클래스(o)일반 메서드(x)단일 상속다중 구현(o)표로 나타내자면 이렇다.다형성이란 -> 같은 참조변수를 사용할 때 다양한 결과를 가지는 것을 의미하고,상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것이다. ex) GirlFriend friedn = new GirlFriend();Friend friend = new GirlFriend();즉 위에 클래스가 Friedn에게 상속당해있다면..

DP-씨름 선수

입력 예시: 5 -->사람 수 172 67 --> 키 몸무게 183 65 180 70 170 72 181 60 import java.util.*; public class java { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int arr[][] = new int[sc.nextInt()][2]; for(int i=0;i=0;i--){ if(arr[i][1]>max){ max=arr[i][1]; count++; } } System.out.println(count); } } 처음에 이중 배열과 같은 방법을 푸려고 했더니 .. 시간초과 더 생산적인 방법을 했더니 정답은 정렬이였다...

코테 2023.02.27

회고 11일차

오늘 배운 것은 자바의 oop 심화과정인 상속, 캡슐화에 대해서 배웠다.  객체 지향에 가장 중요한 4기둥 상속, 다형성, 캡슐화, 추상화중 두가지이다. 상속이란 ---> extends 키워드를  이용하여 코드의 중복과 코드의 길어짐을 방지하는 방법이다.class Car{ int wheel; Car(){ } public void run(){ }}만약 Car라는 키워드 가 있을 때 상속이란 개념이 없을 시에는 SuperCar이라는 클래스를 만들 기 위해서는class SuperCar{ int wheel; SuperCar(){ } public void run(){ } . . .}이런식으로 다른 클래스를 만들어서 코드..

게임 플레이하기-oop프로그래밍

이 게임을 설명하고자 하면. 1. 게임이 시작된다. 🎲🎮 2.유닛의 정보를 입력한다. 3. 상대의 유닛 정보를 입력한다. 4.유닛의 레벨을 판별해 높은 유닛부터 공격한다 ---> 추가 요소 5.방어력과 공격력을 따져서 체력이 먼저 0아래로 내려가는 사람이 지는 것이다. 🔥 ---> 실행 배경이 되는 program이다. package com.codestates.seb.lol_program; public class LOL_Program { public static void main(String[] args) { //TODO: //시스템 시작 info System.out.println("[안내] TRPG 스타크래프트 시작합니다."); System.out.println("[안내] 자신의 유닛 정보를 입력해 주세..

JAVA 2023.02.24

회고 9일차

오늘도 열심히 아침부터 달리고 집으로와서 9시에 정확하게 늦지않고 들어갔다 ^^ 밥먹는 시간이 빨라진 것인가? 오늘은 객체지향언어 oop를 배웠다.객체,클래스,상속,다형성,추상화,캡슐화 ... 중에서 객체와 클래스에 대해서 배워보았다.객체 = 무안가에 대한 정보와 동작을 묶는 것클래스 = 클래스를 통해 객체를 만들 수 있다. class person{ String name; --->필드 method(){ -->메서드 } }즉 예를 들면 클래스는 = 설계도 , 객체 = 설계도를 통해 얻은 객체  클래스의 생성 과정에 대해서 설명해보자면Person p = new Person();가장 먼저 실행정 Person클래스가 JVM에 RUN TIME AREA에 클래스 영역에 클래스를 생성하고 ..

계산기 만들기 프로그램

오늘은 간단하게 제어문을 사용해서 계산기를 만들어 보았다. while문을 사용해서 사용자의 입력에 따라 종료할 수 있는 코드를 작성했고, 형식에 맞는 입력값이 들어왔을 때 구분자로 나눠서 계산하는 코드를 작성했다. public class Calculator { public static void main(String[] args) { System.out.println("===Java Calculator==="); Scanner input = new Scanner(System.in); //입력 예시 ====> 11 + 12 while(true){ System.out.println("연산 식을 입력해 주세요 ex)11 + 12"); //문자열 형식으로 입력받기 String oper = input.nextLin..

객체지향 2023.02.22
반응형