백엔드개발자 준비하기 (37) 썸네일형 리스트형 [백엔드개발자 준비하기] 추상클래스 추상 -공통된 것들을 뽑아내는 것 -추상클래스에 정의되어있는 추상메소드는 상속받은 자식클래스에서 재정의하여 써야함(오버라이드) 클래스 내에 추상 메소드가 하나라도 있으면 추상 클래스로 변경 - 생성을 못함 추상 클래스를 상속받는 클래스를 만들기 위해서는 추상 클래스가 들고있는 추상 메소드를 전부 구현하거나 만든 클래스도 추상 클래스로 변경하여야 함 예시 추상클래스인 Transportation을 Subway 와 Taxi가 상속받아 사용함 [Transportaion] public abstract class Transportation { // 추상 메소드 public abstract void go(); public abstract void stop(); } [Subway] public class Subway .. [백엔드개발자 준비하기] 상속_클래스형변환 [Transpotation] public class Transportation { public void go() { } public void stop() { } [Taxi] public class Taxi extends Transportation { @Override // @로 시작하는 문법을 어노테이션이라고 한다 public void go() { System.out.println("택시를 타고 출발"); } @Override public void stop() { System.out.println("택시를 타고 도착"); } public void checkTaxiNumber() { System.out.println("택시 번호 확인"); } [Subway] public class Subway extend.. [백엔드개발자 준비하기] 상속 -Extends 를 사용하여 상속받음 -부모클래스가 가지고 있는 메소드와 변수 사용가능 -부모 클래스는 하나여야함(단일상속) 수퍼 나의 상위 객체 (부모클래스 - 항상 최상위에 있어야 함 디스 자기자신 생성자 - 자기자신의 주소를 매개변수로 넣을 때 오버라이딩 메소드명과 매개변수 타입이 같아야 함 이름은 바껴도 됨 오버로딩 이름같고 매개변수 갯수와 타입이 다르면 가능 예시 -Car 클래스를 KiaCar 와 HyundaiCar 가 상속받음 [Car] public class Car { private String company; private String model; private int price; public Car() { System.out.println("부모"); } public int discoun.. [백엔드개발자 준비하기] 배열 활용 foreach -변수 : 배열 or 리스트 -처음부터 끝까지 하나씩 다 꺼냄 -돌아갈 수 없음 -names 변수랑 같은 배열을 하나 더 생성해서 하나씩 꺼내는 구조 -생성자는 생성될 때 한번만 작동하므로 사용되는 변수를 상수로 설정해둔다(final) [이차원배열 예시] int num = 0; int[] nums = new int[2]; int[][] d_nums = new int[3][2]; d_nums[0][0] = 1; d_nums[1][0] = 2; d_nums[2][0] = 3; d_nums[0][1] = 4; d_nums[1][1] = 5; d_nums[2][1] = 6; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { System.ou.. [백엔드개발자 준비하기] 배열 [배열] -배열은 참조자료형 -변수를 인덱스당 하나씩 할당하고 new로 생성시에 메모리에 동적으로 할당해줌 -각 인덱스 번호의 주소에 들어있는 값을 들고옴 -반복을 쓰기 위해 배열을 사용 예시1 int num1 = 10; int num2 = 20; int num3 = 30; int num4 = 40; int num5 = 50; System.out.println(num1); System.out.println(num2); System.out.println(num3); System.out.println(num4); System.out.println(num5); // 배열은 참조자료형 // new는 생성할 때 무조건 동적할당 // 인덱스 사용 // 각 번호의 인덱스 주소를 참조함 int[] nums = new .. [백엔드개발자 준비하기] 깃, 깃허브, 소스트리 활용하기 [깃] -형상관리 시스템 -버전관리 분산관리 remote - 깃허브 local - 내 PC head - 현재 상태를 잠시 과거로 돌린 임시브랜치라 존재하지 않기때문에 커밋하면 안됨 이클립스에서는 src 만 있으면 나머지는 생성됨 따라서 src 제외하고 나머지는 깃 이그노어 설정 가능 [프로젝트 만드는 법] 1. 프로젝트 생성 2. Github Repository 생성 3. Repository에 프로젝트 옮김 4. 최초 커밋(init) 5. push [백엔드개발자 준비하기] 접근지정자 [접근지정자] : 변수, 메소드 앞에 붙음(생성자도 일종의 메소드) -클래스의 멤버 각각에 외부에서 접근할 수 있는 범위를 지정하는 것 -public : 접근제한 없음 -protected : 동일 패키지와 상속 받은 클래스 내부, 다른 패키지 안에 있어도 상속받은 클래스면 사용가능 -default : 동일 패키지 내에서만 접근 가능, 보통 생략되어있음 -private : 동일 클래스 내에서만 주로 사용하는 것은 public과 private -변수가 돈, 메소드가 은행원, 클래스가 은행일때 -변수를 꺼내려고 메소드에게 요청하면 메소드가 클래스에서 동작하여 변수에 있던 값을 가져다 줌 예시 [J11_Student] public class J11_Student { private String name; priv.. [백엔드개발자 준비하기] 생성자 자료형 변수명 = 값 J09_Student를 담을 수 있는 자료형 스택메모리에는 컴파일 시점에 할당됨 원래는 J09_Student 에 null값이 들어있음 new는 생성자를 쓰기 위한 키워드 (new 생성자)가 한 세트 new라는 것을 거쳐 생성을 함 : 동적 메모리 할당 스택메모리에는 컴파일 시점에 할당됨 스택메모리 : 정적메모리, 힙 : 동적메모리 컴파일 당시에 스택메모리를 할당해주었는데 추가로 메모리가 필요한 경우 힙메모리에서 빌려옴 힙메모리에서 빌리는 과정을 생성이라고 함 힙메모리에 할당된 주소는 매번 변경됨 따라서 힙메모리 주소를 정적메모리인 스택메모리에 넣어두고 이름을 지정해줌 따라서 이름을 알고 있으면 힙메모리의 주소를 불러올 수 있음(아래 Student1 같은 경우) . : 참조자료형 생성.. 이전 1 2 3 4 5 다음