더보기 상속(Ingeritance) / 다형성(poly) 을 쓰는 이유 ? => 객체지향을 쓰는 이유와 같다. 간단하게 유지보수 라고 압축하겠음. 객체지향에 관한 글은 아래에 있으니 다시 읽으러 가기 ! 2024.02.07 - [2월] - 2024.02.07_ 객체 지향 프로그래밍 , 메소드 , 클래스 (+ 객체, 인스턴스) 인터페이스(Interface) 1. 인터페이스의 모든 메소드는 public abstract 로 선언(Java 7버전 까지) -> public abstract 수식어 생략 가능 2. 인터페이스의 모든 멤버 변수는 public static final 로 선언 -> public static final 수식어 생략 가능 3. 인터페이스를 선언할 때는 interface 키워드 사용 4. 인터..
싱글톤 디자인 패턴 (sigleton design pattern) : 클래스의 인스턴스를 오직 하나만 생성할 수 있도록 작성하는 설계 기법 1. 클래스는 자신 타입의 private static 변수를 선언 2. 생성자는 private 으로 선언 3. public static 메소드를 제공해서 인스턴스를 생성할 수 있도록 설계 처음 생성한 인스턴스는 변경이 불가능 (주소값이 같음) 싱글톤 디자인 패턴으로 설계해서 인스턴스를 생성한 두 가지 변수의 주소값이 같은 "캠핑장" 으로 출력 toilet2 의 내용을 "공연장" 으로 변경하고 읽어와보면 두 개 모두 static 이므로 두 가지 변수를 출력하면 "공연장" 으로 출력된다 상속(Inheritance) BasicTV : 상위 클래스(super class), ..
1. 실습내용 : HW4 0) 클래스 설계 1) 연락처 등록하기 0번 인덱스 = Contact [name=김하나, phone=010-1111-1111, email=kimhana@test.com] 1번 인덱스 = Contact [name=박두리, phone=010-2222-2222, email=parkdori@test.com] 2번 인덱스 = Contact [name=이삼이, phone=010-3333-3333, email=Leesami@test.com] 이렇게 저장 됐어야함 2) 연락처 전체 검색 문제점 : 연락처 카운트는 잘 해놓고 마지막 입력값만 저장해놓음 그리고 연락처 0번 , 1번 , 2번 이렇게 해야하는데 이상하게 나옴 물론 코드도 이상함 3. 연락처 상세 당연히 2번에서 막히니깐 0번째 인덱스..
클래스(Class) 상태(속성, 성질) : 멤버 변수(field , property) 기능 - 메소드 생성자(constructor) - 멤버 변수들을 초기화 ㄴ 클래스 이름과 동일 ㄴ매개변수는 있을 수도 있고, 없을 수도 있음 ㄴ 클래스를 작성할 때 생성자를 하나도 정의하지 않은 경우, 자바 컴파일러가 기본 생성자를 자동으로 만들어 줌. ㄴ 생성자를 하나라도 정의한 경우에는, 자동으로 기본 생성자를 만들지 않음. 결론 : 생성자는 하나라도 있어야 한다. class 이름 = 기본 생성자 이름 = 매개변수가 있는 생성자 이름 => 모두 같아야함 이미 작성한 이름을 변경하고 싶다면? 이름변경 단축키 이용 :: Shift + Alt + R 매개변수가 있는 생성자만 있으면 오류가 났음... 기본 생성자를 사용하여..
객체지향 프로그래밍 (Object Oriented Programming) + Object : 단위, 형식 하나의 단위다 단위로 표현할 수 있는 형식이다. 자료형(int,double)같은 것도 구조체,형식이니깐 +클래스(Class) ,객체(Object), 인스턴스(Instance) 카페에서 메뉴판에는 여러 음료와 디저트들이 나열되어 있다. 메뉴판 = 클래스 , 메뉴판에서 선택한 특정 음료나 디저트를 주문할 때의 그것이 곧 인스턴스 주문에 따라 만들어진 '아메리카노' = 인스턴스 이 인스턴스는 클래스에서 정의된 특징(속성) 과 기능(메소드)을 가지고 있다. 예를 들어 아메리카노(인스턴스) 라면 컵의 크기 , 커피 양, 가격 등의 특징을 가지고 있다. 요약하면 클래스 = 일종의 틀 인스턴스 = 틀을 토대로 만..
2차원 배열 // 2차원 배열 선언 int[ ][ ] array; // 초기화 :: 1행 3열의 배열 생성하고 모두 0으로 초기화 array = new int[1][3]; //선언과 초기화 동시에 int[ ][ ] array = new int[1][3]; //특정한 초기값이 정해져 있을 때 array = new int[][] { {1, 2, 3, 4, 5}, // 첫 번째 행 {6, 7, 8, 9, 10} // 두 번째 행 }; HW2 배열 직접 선언을 입력하는건줄 알았음 그리고 왜 그런지 모르겠는데 내림차순으로 출력함 Codeup 과제 어제 못한 문제(다시풀기 & 복습) codeup 1093 , 1407 , 1409 , 1411 오늘의 Codeup 과제
1. 실습 내용 Loop 반복문 (for, while, do - while) 안에서 break를 만나면 break가 있는 위치에서 가장 가까운 곳(포함하는 곳)의 반복문을 종료 Loop문 은행 ATM 만들기 실습 반복문의 경우 *종료*시점을 먼저 생각하고 구성할것 물론 상황에 따라 종료시점을 구성하는게 제일 어려울 수도 있음 변수의 위치에 따라서도 결과물이 많이 바뀐다! 2. HW1 내용 1. 반복문을 사용해서, 'A'부터 'Z'까지 출력하는 프로그램 문제 : 반복문을 사용하니 숫자만 출력됨 해결 : for문의 자료형을 int 로 해놨었음,,, char 로 바꾸니 해결 고친 코드 이 뒤로는 답이 날라감; 내일보충 2. While문과 Math.random() 함수를 이용해서 두 개의 주사위를 던졌을 때 나..
1. 실습내용: A ~ Z 이면 영대문자라고 출력하는 문제 검증 테스트를 할 때는 순차적으로 검증하기 반복문 챕터부터는 문제해결을 위한 패턴 찾기 2. 문제점 / 어려웠던 부분: eclipse랑 github 연동 문제!! 가 제일 어려웠음 commit이 안됐음 3. 해결방법 : token 발급함 commit 할 때 로그인 화면이건 암것도 안뜸ㅋㅋㅋ URL 제대로 된 지 확인 먼저 우클릭하면 change c-- 가 나옴 여기서 User 네임을 닉네임으로 썼다 아이디@메일로 썼다 반복 pw는 token 발급한 걸로 복붙 그 다음에도 여러가지 시도 갑자기 정신차리고 일 제대로 함