금요일엔 정말 중요한걸 배웠다. 바로 상속. Inheritance. 상속에 대해서 알아보자. 상속 (Inheritance) class 자식클래스이름 extends 부모클래스이름 { // 내용 } 위와 같이 사용한다. @Override 어노테이션 - 오버라이딩 유효성 확인 extends 가 뒤에 없을 경우 - extends Object 생략된 것. extends 뒤에는 딱 한개의 클래스만 올 수 있음. 다음과 같이 상속을 extend로 선언하여 사용하면, 부모클래스에 선언된 필드/메소드를 선언없이 사용할 수 있다. @Override 어노테이션은 오버라이드가 됐는지 확인할 수 있는 코드로, 상속받은 메소드를 오버라이드했을 경우 오류가 발생하지 않고, 오버라이드 메소드가 아닐 경우 오류가 발생한다. @..
지난 수업에서 VO class 를 배웠다. 오늘은 이를 응용하고 더 확장해보는 수업이었다. VO class - 다른말로는 DTO (Data Transfer Object) , DO(Domain Object), Entity, bean 이라고도 한다. vo class 작성방법 1. private field 2. public getter/setter (위치 생성자 아래도 가능) 3. 기본 / 모든 파라미터 생성자 4. 필드정보 확인용 메소드 보통 getter/setter를 제외하고는 순서도 이 순서대로 쓴다. 다음과 같은 구조에서, 먼저 Person.java 클래스를 작성해본다. public class Person { //field private String name; private int age; ..
Static / non-static 메소드 1. nonstatic 메소드 (멤버 / 인스턴스 메소드) - 객체를 생성 후 호출해야 한다. - 멤버변수 , 클래스변수 모두 접근할 수 있다. 2. static 메소드 (클래스 메소드 ) - 객체 생성 없이, 클래스명으로 직접 호출하는 메소드 - 클래스 변수에만 접근할 수 있다. int a=100; static int s=99; public static void main(String[] args) { MethodStudy study = new MethodStudy(); study.test1(); MethodStudy.test2(); } /** * 멤버메소드 */ public void test1() { System.out.println(a); System..
13일차 수업에 이어서 UML 다이어그램을 진행한다. 이를 보고 클래스 작성하기를 과제로 주셨다. Member class package net.kh.member.model; public class Member { private String memberId; private String memberPwd; private String memberName; private int age; private char gender; private String phone; private String email; public Member() { } //getter + setter public String getMemberId() { return memberId; } public void setMemberId(String..
드디어 객체 에 들어왔다. 객체와 관련된 수업은 굉장히 중요하나, 사실 14일에 열심히 듣지 않은 관계로 지금 이렇게 쓰고 있다 객체지향 객체지향 프로그래밍이란, 현실세계의 객체(사물, 개념)을 클래스(class)와 객체(object)의 개념으로 컴퓨터에서 구현하는 것을 의미한다. 객체간의 상호작용을 프로그래밍으로 만든 것이 객체지향 언어라고 보면 된다. 객체지향의 3대 원칙 캡슐화 상속 다형성 객체 클래스대로 new 연산자를 호출해서 메모리 heap에 적재된 결과물(instance)을 객체라고 한다. 클래스 객체를 정의한 것. 객체의 설계도와 틀. 사물이나 개념의 공통요소를 용도의 맞게 추상화(abstraction)한 것. 코딩에서 추상화는 클래스를 작성하는 것이라고 볼 수 있다...
10,11일에는 배운것도 있지만 주로 시험이 주가 되었다. 그래서 기본 개념중 시험을 통해 알게 된 몰랐던 개념을 정리하려고 한다. java.lang.* ; java.lang 패키지 자바 프로그램의 기본적인 클래스를 담고 있는 패키지로 import 구문 없이 사용할 수 있는 것이 특징. 포함 선언을 하지 않아도 자바 가상머신에 의해 자동 포함처리된다. ex) Number/Character/Boolean/String ..... 등의 Objects 패키지명과 클래스명 패키지는 클래스의 묶음을 의미하고, 서로 관련있는 클래스들끼리 그룹으로 묶어서 효율적으로 관리. 클래스의 실제 이름은 패키지명을 포함한 것이다. 같은 이름의 클래스라도 다른 패키지에 각각 존재할 수 있다. Static me..
For each (향상된 for문) 형태 for (요소를 담은 변수 : 배열(반복접근 가능한 객체)) { //반복문의 내용 } 특히 배열에서 잘 사용한다. 배열을 공부하고 다시 언급해보겠다. 배열 - 동일 자료형의 묶음 - 메모리도 연결된 부분을 사용 ** 길이가 n일때 마지막 인덱스는 n-1이다. (인덱스가 0부터 시작하기 때문) 배열은 다음과 같이 사용된다. 선언 → 할당 → 값대입 → 사용 int[] arr; int arr[]; 둘다 가능하나 java에서는 위에것을 더 많이 사용한다. 배열의 할당은 배열 객체를 생성 후 변수에 주소값을 할당하는 것을 의미한다. 변수이름 = new 자료형 [저장 데이터 수]; ex) arr=new int[5]; 위와 같은 규칙을 지닌다. 배열 초..
* 03/04 수강한 내용인데 이제야 작성한다. While문 초기식 while(조건식) { //반복실행구문 증감식 } 위와 같은 형태를 지니고, 조건식이 참일때까지만 { }괄호 안을 반복한다. * 1부터 사용자 입력 정수까지의 3의 배수의 합 구하기 Scanner sc = new Scanner(System.in); System.out.print("정수 입력 : "); int n = sc.nextInt(); int i = 1; int sum = 0; while(i 9) { System.out.println("잘못 입력하셨습니다. "); return; } int i = 1; while(i