javaboiii의 JAVA 44

JAVA - 객체지향 feat.캡슐화, 추상화, 인터페이스

JAVA 캡슐화 (Encapsulation)캡슐화란 클래스 안에 서로 연관 있는 속성과 기능들을 하나의 캡슐(capsule)로 만들어데이터를 외부로부터 보호하는 것을 말한다 장점데이터 보호, 데이터 은닉데이터 보호 : 외부로부터 클래스에 정의된 속성과 기능들을 보호함데이터 은닉 : 내부의 동작을 감추고 외부에는 필요한 부분만 노출시킴 자바의 캡슐화는 외부로부터 클래스에 정의딘 속성과 기능들을 보호하고필요한 부분만 외부로 노출될 수 있도록 하여 각 객체 고유의 독립성과 책임 영역을안전하게 지키는  목적임  기능을 단위별로(class별로) ==> 모듈화, 컨포넌트화보관하는 JAVA의 특성덕분에 구현에 필요한 기능이 있다면이미 만들어진 것을 가져오면 된다는 내용 내가 사용하는 클래스, 패키지, 코드덩어리들 ...

JAVA - 객체지향 feat.상속, 다형성

JAVA 절차 지향(Procedural Programming)절차지향은 프로그램을 "순서에 맞게" 작성하는 것>> 흐름도(플로우 차트) 객체 지향(Object - Oriented Proframming) OOP객체지향은 프로그램을 "객체 단위"로 나누어 작성하는 것>> 객체지향 코딩 특히 웹에서는 순서가 사용자에 의해 변경되기 때문에 객체지향이 용이 장점상속, 캡슐화, 다형성이 특징으로 코드를 재사용하거나 확장하기 좋고 유지보수가 쉬움 단점캡슐화와 격리구조 때문에 절차지향 프로그래밍보다 실행 속도가 느림 객체지향 프로그래밍에서 객체는 변수, 함수, 자료구조의 조합이 될 수 있는데, 특히 객체지향 프로그래밍에서 클래스를 기반으로 한 변수를 클래스의 인스턴스라고 표현함 클래스란 멤버 변수와 메서드를 가지는 객..

JAVA - [함수] 학생부 프로그램 함수화

JAVA함수 활용 : 코드 재사용성  함수 기능에 대한 설명 static : 정말 필요한 순산이 아니라면 사용 x 이유) 무거움, 메모리가 무거움 static == 객체와 무관하게, 프로그램에 종속되어있다 ### 함수 제작 순서 ### 1.void 기능명() + 간단한 주석 2. main에서 코드 뜯어오기 3. return 잇나 살펴보기 4. 메서드 시그니쳐 변경 5. 주석 제대로 설명 작성하기 ※ 코드에 제어문(continue, break, return, ...)이 존재할 때  >> 제어문은 main()에 위치해야만함  >> if문과 함께 사용될 가능성이 매우 높음  >> isXxx(), hasXxx()와 같은 boolean 반환 메서드로 변경 학생부 예제 참고https://javaboiii.tisto..

JAVA - 함수 예제

JAVA 함수함수는 input 기능 output함수명은 기능을 바로 알 수 있게 지어야됨 output 함수명(input)함수는 4가지 유형input X output Xinput O output Xinput X output Oinput O output O  1./* 1. test01이라는 함수가 있습니다.이 함수는 정수를 2개 외부에서 입력받아서,정수 2개의 평균값을 실수로 반환하는 함수입니다.test01을 작성해주세요. */public class Task01 { public static double test01(int num1, int num2) { return (num1+num2)/2.0; } public static void main(String[] args) { double result ..

JAVA - [제어문] 학생부 프로그램

JAVA 요구사항"학생부 프로그램"사용자의 첫번째 요구사항 1. 최대 5명까지 저장할 수 있는 학생부가 있습니다 2. 학생부 프로그램을 작성해주세요----------------------------------------------C : 학생추가(동명이인 X)R : 학생부를 전체출력 / 학생 이름으로 검색 >>selectAllR : 1번 학생 이름 출력 >> selectOne, getOne ※ 같은 R이여도 All이 있고, One이 있다U : 학생의 이름 변경(D : 학생 삭제 >> 배열에서는 삭제가 불가능(그래서 D를 하는 모든 프로그램에서는 배열을 사용하지 않음))------------------------------------------------- 프로그램에서 모든 요구사항은 CRUD로 귀결된다.데..

JAVA - 이중for문(중첩 반복문) 예제

JAVA public static void main(String[] args) { 1번 문제 * ** *** **** ***** for (int i = 1; i  public static void main(String[] args) {2번문제***** **** *** ** * //일단 다섯줄 반복임 for (int i = 0; i  public static void main(String[] args) { 3번문제 * *** ***** ******* //일단 4줄이야 for (int i = 0; i    이렇게 하는게 맞을까 라는 생각, 디버깅표도 맞게 쓴건지 모르겠지만..

JAVA - 이중 for문

JAVA이중for문for문을 여러번 중첩해서 사용할 수 있다.이러한 것을 중첩 루프 또는 다중 루프라고 한다.  public static void main(String[] args) { /* *** ** * */ for (int i = 0; i  다중 for문은 정말 어렵다 하지만 콘솔에 의존해서결과물을 똑같이 출력하는데에 초점을 두면 안된다 그렇기에 디버깅표를 그릴 줄 알아야한다알고리즘 로직 문제를 풀 수 있나 ? == 디버깅표를 그릴줄 알아야됨 >> [중첩 반복문] 위 코드의 디버깅표 i i 디버깅표는 정말 중요한데그릴 순 있겠는데 나는 아직 ??값을 구하는ㄱㅔ 어렵다

JAVA - 배열 (Array)

JAVA배열(Array)배열은 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스(index)를 부여해놓은 자료구조다. 배열의 특징배열은 같은 타입의 데이터만 저장할 수 있다.int 배열은 int 값만 저장이 가능하고, 문자열 배열은 문자열만 저장이 가능하다.선언과 동시에 저장할 수 있는 타입이 결정된다. 크기, 관련성, 자료형크기 : 개수를 분명하게 알고있는 데이터들이관련성 : 이 데이터들이 서로 관련이 있는 상태에서자료형 : 자료형이 같은 때 사용한다.  배열 사용이유컴퓨터는 메모리를 서로 옆에둘 필요성을 모른다.따라서 관련이 있는 데이터의 메모리 공간에 [index]를 붙여서 관리할 수 있다.   new 연산자를 이용한 배열을 생성 public static void main(Strin..

JAVA - 반복문 예제

JAVA 1. 정수를 입력받습니다 입력된 정수가 짝수라면 총합에 더해주세요  0 이하가 입력되면 멈춥니다 멈추고서 최종 총합을 출력하세요 내 코드public class Test04 { public static void main(String[] args) {// 1. 정수를 입력 받습니다 Scanner sc = new Scanner(System.in); System.out.println("정수를 입력받아 입력받은 정수가 짝수라면 총합에 더하고 0이하라면 멈추고 최종 총합을 출력합니다"); int sum = 0; while(true) { System.out.println("정수 입력 >>"); int num = sc.nextInt(); if(num%2 == 0) { //짝..

JAVA - 조건문 예제

JAVA조건문 예제 1. 정수를 3개를 입력 받고 오름차순으로 정렬하세요ex) a = 3, b = 8, c = 6 >> a = 3, b = 6, c = 8 javaboiii 가 쓴 코드import java.util.Scanner;public class Test01 { public static void main(String[] args) {// 1. 정수를 3개 입력받아주세요// a = 3 b =8 c=5// a,b,c가 오름차순이 되도록 데이터를 변경해주세요.// >>> 정수를 2개 입력 // 1. 정수 3개 입력받기 Scanner sc = new Scanner(System.in); System.out.println("정수 3개를 입력받아 오름차순으로 정렬하는 프로그램입니다"); ..