본문 바로가기

분류 전체보기227

자바 JAVA 클래스가 메모리에 저장되는 방식 클래스 구조체: 서로 관련있는 데이터끼리 묶은 것, 데이터 타입이 달라도 상관없음. 구조체를 확장한 게 클래스 클래스에는 메소드도 포함 메모리에 값을 저장하는 방식이 발전(?)한 순서 변수 : 하나의 값을 저장하기 위한 기억공간 ex) int 4byte int num =3; int data = 4; 배열 : 같은 데이터타입의 서로 관련있는 데이터들을 묶어놓은 기능. 나란히 저장이 됨. ex) int arr[]={1,2,3}; 구조체 : 같은 데이터타입이 아니더라도 서로 관련있는 데이터들을 묶어놓은 기능 C에서 사용. (절차적프로그래밍) ex) typeof struct person (< = 사용자가 정의한 데이터 타입){ char[5] name; int age; boolean gender; } ↑↑ {}안.. 2022. 4. 1.
boolean method 와 return과의 전쟁 기록 이 에러는 에러문이 나오는 그런 에러는 아니고,, 지극히 개인적인 logic error다. 반복문 안의 return값은 인식 못하는 불리언 메서드 반복문 안에있는 return값은 밖에서 인식 못 함. 그래서 타입을 void로 바꿨더니 이번엔 리턴 값이 있으면 안 된다 난리.^^ 어쩌라는겨 반복문 빼주면 리턴타입 =오류 없어짐 그러나 그것은 내가 원하는 로직이 아니었으므로... 이것저것 시도해보다가 그럴싸해 보이지만 심각한 오류를 갖고 있는 코드를 짜게 됨... 잘못된 로직을 소개합니다^^ 이 코드는 완전히 잘못됨 가장 문제되는 부분은 이것. 이 코드은 항상 false를 리턴할 수밖에 없음. 나는 if문을 써서 해당 조건에 false면 false가 나오게 하고 아니면 if문을 빠져나와 밑에 있는 true를.. 2022. 4. 1.
자바 Java 값복사와 주소복사란? 자바에서 제공하는 데이터 타입(data type) primitive datatype : byte, short,int,float, double, boolean, char reference datatype: arr, class, interface [argument 전달방식] call by value: 값에 의한 복사 장점: 복사해여 처리하기때문에 안전하다. 원래값 보존 단점: 복사를 하기 때문에 새롭게 메모리 차지하게 됨. primitive datatype으로 인자를 전달할때 call by reference: 주소에 의한 복사 장점: 참조를 하기때문에(주소복사) 메모리를 절약한다. 단점:참조를 하게되면 원래값에 영향을 받에된다. reference datatype으로 인자를 전달할때 1. 값복사 c,d에는 각.. 2022. 3. 31.
자바 메소드 정리 Java method method(메소드) 정의 :값을 계산하기 위해서 사용되는 기능이다. 객체의 동작을 처리하기 위한 기능이다. 하나의 메소드에서는 하나의 기능만 구현하는게 좋다. = 재사용성이 좋아지기때문에 유지보수가 용이해짐. (인건비 최소화) 메소드의 형식 method 정의 : 선언부 + 구현부 반환자료형 메소드명(파라미터) => 메소드 선언부{ 메소드가 호출되었을때 실행할 구문 { } =>메소드 구현부 return값이 있다면 구현부안에 'return 값;' 입력 메소드의 종류 리턴값이 없고 매개변수도 없는 형태 2. 리턴값은 있고 매개변수(파라미터)는 없는 형태 선언한 타입과 리턴값의 타입이 같아야함. 그러나 정의된 타입의 크기가 더 크다면 가능 3. 리턴값이 없고 매개변수는 있는 형태 4.리턴값이 있고 매개변수도 .. 2022. 3. 31.
Java 반복되는 코드를 줄이자 리펙토링! 변경 전 /* 출력력과처럼 총합계까지 출력이 되도록 main()메소드에 * 로직을 추가하세요. * * [출력결과] * 연평해전 14000 * 극비수사 22500 * 소수의견 14000 * 총합계: 50500 */ public class Prob01_class { public static void main(String[] args) { int sum = 0; MovieShop[] me = new MovieShop[3]; me[0] = new MovieShop("연평해전", 7000, 2); me[1] = new MovieShop("극비수사", 7500, 3); me[2] = new MovieShop("소수의견", 7000, 2); // 여기에 구현하세요///////////////// for(MovieSho.. 2022. 3. 31.
JAVA 종류별 값의 합 구하기(값 누적) 이런 문제를 만났다. 처음에는 종류가 컴퓨터, 소설밖에 없으니 코드가 컴퓨터, 소설인 경우에 따라서 값을 더하면 되겠다라고 생각해서 for반복문과 switch반복문을 써서 구현했다. 그러나 만약 코드의 이름이 컴퓨터나 소설이 아닐수도 있는데 .. 그럴땐 어떡하지?싶었다. 문제도 code별 가격 합계를 구하라그랬지 컴튜터와 소설 각각 가격의 합계를 구하라고 하지는 않았다. 답: public static void display(BookShop[] shop) { // code별 가격 합계를 구하는 프로그램을 구현하시오. int sumx = 0; int sumy = 0; for (int i = 0; i < shop.length; i++) { if (shop[0].code == shop[i].code) { sum.. 2022. 3. 31.
728x90