GiantStepDEV
article thumbnail
영화 유령과 한가로운 설 연휴
🍭 Daily 2023. 1. 21. 21:14

히히 롱 타임 노씨(입니다.) 일상 글은 하루하루 똑같아서 잘 올리지 않은... 허나 이번 주 토요일은 설연휴라 줌 수업이 없어서 여유롭게 하루를 마무리 할 겸 올려본다. 2023.01.17 이 날은 웅니랑 수업 끝나고 스벅가서 먹은 브런치(? 빵이 약간 두부같은 식감이 나고 신기했당. 웅니가 시킨 콜드..라떼? 무슨 라떼였지 저거 엄청 맛있어서 디카페인만 됐어도 저것만 마셨을 것 같은데 디카페인이 안된다 해서 실몽 그리고 브레이크 타임이 5시여서 여기저기 구경하다가 그냥 아무런 정보 없이 지나가다가 보쌈이 갑자기 땡겨서 들어갔던.. 선릉역 .. 이름 뭐더라 항아리 보쌈? 처음 문을 들어섰을 때 느낌이 쎄했을 때 그냥 나갔어야 했다. 맛이.. 보쌈인데..이럴 수가 있나 싶을 정도로 ..후..여기까지 토마..

자바(Java) - 객체 지향 프로그래밍 (14) 추상화를 이용하여 교통 수단에 따른 비용/주유 횟수/소요 시간을 구하는 프로그램 작성
🗄️ Backend/Java 2023. 1. 20. 19:41

클래스 설계 클래스 정의 자동차를 상속 받아 승용차, 스포츠카, 버스, 만들기 자동차의 필드는 자동차에서 정의 해서 상속을 줌 자동차는 상속용 차이며 운행 하지 않는 자동차 자동차 자동차는 객체화가 안되므로 추상화 구현해야 할 공통의 메소드는 기본 자동차 클래스에서 구현해서 상속주는 것도 좋은 방법 속도 연비 연료탱크 크기 좌석수 차량이름 스포츠카 연비 : 8km 속도 : 250km 연료 탱크 크기 : 30 리터 좌석수 : 2 차량이름은 생성자에서 입력 받아서 설정 부가기능 : 터보기능 (켜면 속도 20% 향상) 승용차 연비 : 12km 속도 : 200 km 연료 탱크 크기 : 45 리터 좌석수 : 4 차량이름은 생성자 입력 받아서 설정 부가기능 : 트렁크 (켜면 승객 1명 추가) 버스 연비 : 5km ..

article thumbnail
자바(Java) - 객체 지향 프로그래밍 (13) 인터페이스 : 동적 바인딩으로 코코아톡을 구현해보자
🗄️ Backend/Java 2023. 1. 19. 21:35

1. 메신저 기능과 네트워크 연결이 있는 프로그램 실행 ( 상속과 인터페이스 모두 사용 ) - 문법적으로는 적합하나 동적바인딩x NetworkAdapter2 (interface 부모 클래스) public interface NetworkAdapter2 { void connect(); default void description() { System.out.println("자바 8에서 추가된 새로운 문법"); } } Chat (Class 부모 클래스) public class Chat { Chat() {} // 메시지 보내는 기능 void sendMsg() { System.out.println("메시지를 보냅니다."); } // 메시지 받는 기능 void rcvMsg() { System.out.println("..

article thumbnail
자바(Java) - 객체 지향 프로그래밍 (13) 인터페이스★
🗄️ Backend/Java 2023. 1. 19. 20:51

인터페이스? 완전 추상화 개념으로 인터페이스에 포함된 메소드는 일반적으로 전부 추상 메소드이다. 메소드를 선언하면 기입 여부 상관없이 public abstract 키워드로 동작한다. (=> 안붙여도 JVM이 자동으로 붙임) 인터페이스 상속 키워드는 implements 조금 더 자세히 풀어서 설명하자면... 우선 자바에서는 다중상속을 지원하지 않는다. (메소드 출처가 모호해지는 문제가 있기 때문에) 하지만! 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면 다양한 동작을 수행할 수 있는 다중상속을 버릴 수 없기에 자바에서는 인터페이스라는 것을 통해 다중 상속을 지원하고 있다. 즉, 인터페이스(interface)란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할..

자바(Java) - 객체 지향 프로그래밍 (12) 추상 클래스
🗄️ Backend/Java 2023. 1. 19. 19:37

추상클래스? 실체가 없는 부모가 상속을 주는 것 ● 추상클래스에는 반드시 추상 메소드가 포함되어야 한다. ● 해당 메소드는 상속 받은 자식 클래스에서 반드시 구현해줘야 한다.(오버라이딩) ● 추상클래스의 키워드는 abstract ● 추상클래스는 일반 메소드, 추상 메소드, 일반 인스턴스 필드 등 모두 포함 가능하다. => (인터페이스와 다른 점) 추상 메소드 사용 목적 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함. 추상 메소드 선언 abstract 반환타입 메소드이름(); 선언부만 존재하며, 구현부는 작성안 함. 작성되지 않은 구현부는 자식 클래스에서 오버라이딩하여 사용..!!!! 추상 클래스 하나 이상의 추상 메소드를 포함하는 클래스 객체 지향 프로그..

article thumbnail
자바(Java) - 숫자 찾기
🔄 Algorithm/etc 2023. 1. 19. 18:51

문제 임의의 숫자 10개를 입력 받아 중복된 숫자 중 2번째로 등장하는 숫자의 위치 찾기 입력 임의의 수 : 1 2 4 3 2 2 5 8 9 5 찾을 수 : 2 출력 5 단, 2번째 등장하는 수가 없으면 -1 출력 import java.util.Arrays; import java.util.Scanner; public class SecondNum { public static void main(String[] args) { int[] num = new int[10]; int cnt = 0; int p = 0; Scanner sc = new Scanner(System.in); System.out.print("임의의 수 : "); for(int i = 0; i < 10; i++) { num[i] = sc.nex..

article thumbnail
자바(Java) - 에어컨 만들기(객체 지향 예제)
🗄️ Backend/Java 2023. 1. 19. 18:50

기능 설계 (1) 전원 on/off (2) 온도 설정 (1도 단위) (3) 현재 온도 표시 (4) 쿨러 on/off (5) 히터 on/off (6) 바람 세기 설정 (1단계 / 2단계 / 3단계) 설정 조건 및 동작 (1) 설정 온도에 따라 온도 조절 기능 + 바람세기에 따라 (60초/30초/20초) 주기로 온도 변경 (2) 에어컨의 동작은 Scanner로 특정 문자를 입력 받아 동작 시킴 (3) 현재 온도 표시를 위해 캘린더 API를 이용해서 해당 달의 적절한 온도를 가져오도록 구현 (4) 현재 온도와 설정 온도가 같아지면 자동 종료 순서 1. 기능 설계에 필요한 인스턴스 필드 선언 2. 기본 생성자 생성 - 초기값 세팅 3. 필요한 기능 설계(메소드 생성) Aircon package 에어컨만들기011..

article thumbnail
자바(Java) [백준] 4344번 : 평균은 넘겠지
🔄 Algorithm/BaekJoon 2023. 1. 18. 19:51

문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { int cnt = 0; int stu..

자바(Java) - 암호 체크
🔄 Algorithm/etc 2023. 1. 18. 18:39

문제 암호의 길이는 10 ~ 30자 사이 암호에는 숫자, 소문자, 대문자, 특수 문자가 포함되어야 함 특수문자는 (!, %, _, #, &, +, -, *, /)의 9개 중 하나 입력 받은 패스워드가 조건을 만족하면 "Good password", 아니면 "Bad password" 출력 반복문을 사용하고 사용자가 "종료" 또는 "exit" 입력하면 프로그램 종료 * 배운 것을 복습할 겸 정규식은 이용하지 않고 풀었습니다. package 암호체크문제; import java.util.Scanner; public class Password { String password; public void setPassword() { Scanner sc = new Scanner(System.in); password = sc..

article thumbnail
자바(Java) - 객체 지향 프로그래밍 (11) 싱글톤Singleton
🗄️ Backend/Java 2023. 1. 18. 18:35

싱글톤 프로그램 전체에서 단 하나의 객체만 만들도록 보장하는 방법 사용목적 메모리의 효율성과 데이터 공유의 이점이 있음 단점 구현이 까다로움 데이터의 무결성이 깨질 수 있음(멀티스레드에서 사용시 syncronized(동기화) 필요) syncronize 여러 개의 스레드가 같은 때에 들어갈 때 잠금 처리하여 하나씩 처리하도록 하는 것..(?) 남발하면 성능이 현저히 떨어지기 때문에 적은 범위에서 꼭 필요할 때만 쓰는 것이 좋음. ● 싱글톤 선언 (패키지 동일) public class Singleton { String name; int id; private static Singleton singleton = new Singleton(); private Singleton() { name = "test"; id..