분류 전체보기 (46) 썸네일형 리스트형 JAVA - VO/DTO VO(Value Object) ● 변하지 않는 값을 가지는 객체 ● 내부의 속성값들이 같다면 같은 객체로 식별 : 이의 전제 조건은 equals()와 hashCode()를 오버라이딩 ● 모든 레이어에서 사용 가능 ● 데이터 전달 용 ● 로직을 가질 수 있음 DTO(Data Transfer Object) ● 순수하게 데이터를 담아 계층간으로 전달하는 객체 ● getter/setter 메서드가 이에 해당함 ● 값을 가져오고(get) 전달해 지정(set) ● 로직을 가지고 있지 않음 JAVA - Exception / throw/ throws 자바 Exception : 프로그램 실행도중 발생되는 에러에 해당됨 예외처리 : 예외가 발생되었을 때 이를 처리하는 것 Exception의 종류 1. Checked Exception - 컴파일 시에 반드시 try ~ catch로 처리해야 함 2. Unchecked Exception - try~catch로 처리하지 않아도 컴파일시 에러가 발생하지 않음 - 선택적 처리 ● 예외처리 : 예외가 발생되었을 때 이를 처리하는 것 사용방법 try { 실행코드 } catch(익셉션클래스명 변수명) 해당 예외가 발생했을 경우 실행할 코드 } finally { 정상 또는 예외가 발생해도 실행되는 블럭 } try 블록 : 실제 실행되어야 하는 코드 catch 블록 : Exception이 발생하면 실행되는 코드 들어감 (즉.. JAVA - 접근제어자 접근제어자 ● public - 모든 클래스에서 접근 가능. 즉, 접근 제약이 없음. ● protected - 같은 패키지 내의 클래스 또는 상속관계에서 접근 가능. ● default - 접근제어자를 별도로 설정하지 않을 경우 default가 접근제어자로 설정됨. 같은 패키지 접근 가능 ● private - 같은 클래스 안에서 접근 가능 제어자 같은 클래스 같은 패키지 상속 전체 public 가능 가능 가능 가능 protected 가능 가능 가능 default 가능 가능 private 가능 접근 제어자를 설정하는 이유 : 외부에서의 접근을 막고 싶은 경우 private 설정을 통해 가능함 : 즉, 정보 은닉이 가능해짐 주로 public과 private이 많이쓰임 위의 예시같은 경우는 차례대로 Phone →.. JAVA - 상속/ 다형성/ 인터페이스/ instance 상속(extends)이란? ● 클래스와 부모 클래스와 자식 클래스로 나뉨 ● 부모 클래스의 속성(필드)과 기능(메서드)을 그대로 이어받아 사용할 수 있게 함 ● 일부분을 변경해야 하는 경우 상속받은 자식클래스에서 해당기능만 다시 수정하여 사용할 수 있게함 ● 1:1로만 상속 가능 ● PRIVATE을 갖는 필드나 메소드, 패키지가 다를 경우 접근제어자가 default인 경우 상속 불가능함 ● public, protected까지만 상속 가능함 선언 방법 : class (자식)클래스명 extends (부모)클래스명 { } 위의 예시는 페르시안캣이 Cat을 상속받음 => 부모 메소드 재정의도 가능함 *super 은 뭘까? : 자식클래스에서 부모클래스를 가리킬 때 사용하는 키워드(저 예제에서는 Cat이 super.. JAVA - 추상클래스/ 자바 메모리 구조(JVM Runtime Data Area) 추상클래스란? ● 구현되지 않은 추상 메소드가 존재함 ● 정의만 하고 구현X ● 미완성 클래스 ● 미완성 메소드를 가지고 있음 ● 상속을 받고 반드시 오버라이딩 해야함 ● 객체를 생성할 수 없음 Method Area(메서드 영역) 메소드 영역은 클래스 파일의 바이트 코드가 로드되는 곳 : 프로그램을 키면 메인 메소드를 호출하며 프로그램 시작 클래스와 static, 상수 등이 메소드 영역에 올라옴 여기서 static이란? ● static을 사용한다는 의미는 모든 객체가 공유한다는 의미임 - static 영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든 참조할 수 있음 ● static이 붙은 메소드들은 객체들의 데이터와 관계없는 공통적인 로직을 정의할 때 사용함 ● 프로그램이 종료되기 전까.. JAVA - 상수 /생성자 / 변수 상수란? ● 처음 할당된 값이 변경되지 않음 ● final 키워드 사용 ● 상수는 가능한 대문자로 선언하기 위의 처럼 final문을 사용하며 이 값은 고정되어 값이 바뀌지 않음. 생성자(Constructor)란? 생성자는 객체가 생성될 때 자동으로 호출되는 특수 목적의 메소드로 객체의 초기화를 위해 사용됨 생성자 특징 ● 생성자의 이름은 클래스 이름과 동일해야 함 ● 매개변수 조건에 따라 여러개 작성 가능함(오버로딩 특징을 가짐) ● 클래스에 최소 1개 존재하며, 생성자 코드가 없는 경우 컴파일러가 기본생성자 자동 생성 변수(variable)란? ● 메모리 공간에 붙여진 이름. ● JAVA 프로그램에 사용되는 모든 값을 메모리 공간에 저장 ● 메모리 공간에 이름을 붙여 접근 가능 1. 타입에 따른 변수 .. 객체 지향 프로그래밍Object Oriented Programming)과 클래스 구조, 객체화 방법 객체란? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 정의가능 식별 가능한 것을 의미함. → 자바에서는 최소한의 프로그램 단위를 의미함 객체(인스턴스)를 만들기 위해서는 주형(와플 틀같은) 또는 설계도를 만들어야하는게 그게바로 Class임 Class란? 어떤 문제를 해결하기 위한 데이터를 만들기 위해 추상화를 거쳐 집단에 속하는 속성과 행위를 변수와 메소드로 정의함 클래스의 구조 Class 클래스명 (extend 상속) (implements 인터페이스 상속) { (생성자) => 초기화 변수 => 속성값 메소드=> 기능 } 객체화 하는 방법 클래스명 변수명 = new 클래스명(); 자바 메소드와 오버로딩 알아보기 메소드(method) 객체 지향 프로그래밍에 객체와 관련된 함수이며 멤버 변수에 대한 접근 권한을 갖는다. => 어떤 특정 작업을 수행하기 위한 명령문의 집합 리턴타입에는 int, string, boolean 등의 자료형을 넣기도 하며, 리턴타입에 void가 들어가는 경우 return 받는 데이터가 없음. 1. 인자X , 리턴X 1번 사진대로 입력하면 hello로 system.out.println("Hello world")를 여러번 쓰지 않아도 간편하게 출력 가능함. 2. 인자O,리턴X 메소드 선언 시 인자 값을 넣어서 사용하면 이름을 출력할 수 있음 3. 인자O, 리턴X(복수값) public static void 메소드명( ) JAVA - 객체/클래스/new() 객체란? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 정의가능 식별 가능한 것을 의미함. →최소한의 프로그램 단위이며 설계도를 바탕으로 만들어짐. Class 객체를 만들기 위해서 주형 또는 설계도 클래스의 구조 Class 클래스명 (extend 상속) (implements 인터페이스상속){ (생성자) => 초기화 변수 => 속성 값 메소드 => 기능 } 클래스 이름 작성 규칙 1. 하나이상의 문자로 이루어져야 한다. 2. 첫번째 글자는 숫자가 올 수 없다. 3. $, _ 외의 특수 문자는 사용할 수 없다. 4. 자바 키워드는 사용할 수 없다. 클래스로부터 객체 생성하는 방법 - new () ● 인스턴스(객체)를 생성함. ● new연산자로 생성된 객체는 메모리 힙 영역에 생성됨 ● 메모리 내.. JAVA - 메소드(method)/오버로딩/get,set 메소드란? ● 어떤 특정 작업을 수행하기 위한 명령문의 집합 ● 어떠한 문제를 처리하기 위한 방법을 소스 코드로 묶어놓고 필요에 따라 동작하는 기능 사용방법 (접근제어자) (정적) 반환타입 메소드이름(매개변수타입 매개변수명) { // 선언부 실행할 코드(명령문) // 구현부 return 반환값; // void 일때 생략가능 오버로딩이란? 메소드 명이 같아도, 매개변수 개수 또는 타입이 다르면 같은 이름을 사용해서 사용해서 메소드를 정의할 수 있음. GET, SET 메소드 private 을 이용할 경우(제한되는 경우) 객체 외부에서 접근을 막은 값을 제어해야 될 외부에서 Get/Set 함수를 만들어 제어할 수 있게함. set = 저장, get = 값을 가져옴 이전 1 2 3 4 5 다음