클래스 간의 관계와 상속 상속을 사용하면 적은 양의 코드로 새로운 클래스를 작성할 수도 있고 공통적인 코드를 관리하여 코드의 추가와 변경이 쉬워질 수 있다. 이러한 특성 때문에 상속을 사용하면 코드의 중복이 제거되고 재사용성이 크게 증가하여 생산성과 유지보수성에 매우 유리해진다. 1. 클래스 간의 상속은 extends 키워드를 사용하여 정의할 수 있다. public class 자식클래스 extends 부모클래스 { } 2. 클래스간의 관계 상속관계 : is - a (~은 ~이다) 포함관계: has - a (~은 ~를 가지고 있다) ** final 키워드를 클래스와 메서드에 선언하면 더 이상 상속, 오버라이딩 할 수 없는 클래스, 메서드가 된다. 3. 오버라이딩 : 부모 클래스로부터 상속받은 메서드의 내용..
분류 전체보기
객체지향 프로그래밍 현실세계에서 어떠한 제품을 만들기 위해 부품들을 하나씩 조립해서 완성시키는 것처럼 소프트웨어 또한 필요한 부품들을 만들고 하나씩 조립해서 하나의 완성된 프로그램을 만드는 기법 객체지향 프로그래밍의 특징 캡슐화 속성(필드)와 행위(메서드)를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것 외부 객체에서는 캡슐화된 객체의 내부 구조를 알 수 없기 때문에 노출시켜 준 필드 혹은 메서드를 통해 접근 가능 필드와 메서드를 캡슐화하여 숨기는 이유는 외부 객체에 사 해당 필드와 메서드를 잘못 사용하여 객체가 변화하지 않게 함 Java에서 캡슐화된 객체의 필드와 메서드를 노출 시킬지 감출 지 결정하기 위해 접근 제어자를 사용 상속 부모 객체는 가지고 있는 필드와 ..
*** 추가 length vs length() vs size() - 길이 값 불러오기 1. length arrays(int[], double[], String[]) length 는 배열의 길이를 조회해 준다. 2. length() String related Object(String, StringBuilder etc) length() 는 문자열의 길이를 조회해 준다. ex) "ABCD".length() == 4 3. size() Collection Object(ArrayList, Set etc) size() 는 컬렉션 타입목록의 길이를 조회해 준다.
Java에서 컬렉션은 배열보다 다수의 참조형 데이터를 더 쉽고 효과적으로 처리할 수 있는 기능을 많이 가지고 있다. 1. List : 순서가 있는 데이터의 집합 (데이터 중복 허용) 1) ArrayList : 배열처럼 일렬로 데이터를 저장하고 조회하여 인덱스로 값을 하나씩 조회함 ArrayList(동적 배열)는 Array(정적 배열)와 다르게 크기가 가변적으로 늘어남 ArrayList는 생성시점에 작은 연속된 공간을 요청해서 참조형 변수들을 담아놓고, 값이 추가될 때 더 큰 공간이 필요하면 더 큰 공간을 받아서 저장함. 사용하기 위해서는 java.util.ArrayList를 추가해야 함. 기능 : 선언 : ArrayList intList 생성 : new ArrayList(); 초기화 : 사이즈를 지정하는..
1. 선언 : 2가지 방법이 있는데 첫 번째 방법을 선호한다. -방법 1) 타입[] 변수; EX) int[] intArray; -방법 2) 타입 변수[]; EX) int intArray[]; 2. 생성 : 배열은 참조형 변수처럼 new 명령을 통해서 생성하며, 대괄호 [] 안에 크기를 지정해준다. // 배열 생성 //배열 생성후 초기화하면 배열의 주소가 할당된다. int[] intArray = new int[3]; // 초기값 {0,0,0} boolean[] boolArray = new boolean[3]; // 초기값 {false, false, false} String[] stringArray = new String[3]; // 초기값 {"","",""} //배열 선언만 해놓고 나중에 초기화를 시킬수도..
이번에 배운 내용은 연산자, 조건문, 반복문을 배워봤는데 C언어와 문법의 거의 같아 어려운 점이 없었다. 그래서 차이가 있는 부분 위주로 작성하고자 했다. 1. 연산자 : C언어와 크게 다른건 없다. instance of 연산자는 처음 보는데 원래 인스턴스의 형이 맞는지 여부를 체크하는 키워드라고 한다! 산술 연산자 + - * / % 사칙 연산과 비트연산 비교 연산자 > =
여태 코딩하면서 변수, 함수명 같은 것들을 내 맘대로 정했었는데 알고 보니 표기법이 있었다. 하나씩 알아보자 카멜(Camel, 단봉 낙타) 표기법 - 변수, 함수명에 사용 deleteBtn 2.파스칼(Pascal, 쌍봉 낙타) 표기법 -클래스명에 사용 DeleteBtn 3. 스네이크(Snake) 표기법 - 변수, 함수, 데이터 타입 등에 사용 delete_btn
입력 Java 프로그램에서는 기본적으로 객체의 next() 명령을 사용해서 입력받습니다. Scanner sc = new Scanner(System.in); // Scanner 객체를 new 명령어로 생성합니다. String input = sc.next(); // sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받을 수 있습니다. 2. 출력 Java 프로그램에서는 기본적으로 System.out 객체의 println() 명령을 사용해서 출력합니다. Scanner sc = new Scanner(System.in); String input = sc.next(); System.out.println("입력값 : " + input); // 입력한 글자를 출력합니다. // 실행 결과..
JVM 1) JVM은 Java Virtual Machine의 약자로 "자바 가상 머신"이라는 뜻이며 여러 가지의 기기 위에 Java 프로그램을 실행시킬 수 있는 가상의 기기를 만들어주는 것이다. 즉 JVM은 원래 개발된 플랫폼에 상관없이 어떤 플랫폼에서도 Java 클래스 파일이 실행되도록 하고 바이트코드 인터프리터 및 런타임으로 구성됩니다. 2) 개발환경 구성 JRE(Java Runtime Environment) : 자바 실행 환경이라는 뜻을 가지고 있지만 JRE는 .class 파일만 실행 가능하기 때문에 JDK의 javac 명령을 통해 .java 파일을 실행가능한. class파일로 변환해줘야 한다. JDK(Java Development Kit) : 자바 개발 키트라는 뜻을 가지고 있으며 Java Com..
안녕하세요! Spring을 공부하기에 앞서 Java 문법 강의를 약 1주 동안 수강하며 후에는 개인 과제, 팀과제도 수행할 예정입니다. C++, 파이썬을 써본적이 있기 때문에 내용이 겹치는 게 많아 크게 어렵지 않을 것 같아요. 중복되는 내용을 조금 배제하고 최대한 차이가 있는 정보 위주로 서술하겠습니다!