목록Java (22)
개발 한번 해블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rdOSy/btsByAyCCp8/96LCun6RZPnPfkIxHBLksk/img.jpg)
게시물 중에서 모델들이 있었는데 그럼 과연 잘 설계된 클래스는 어떤 클래스인지 알아보장 1. 정보 은닉 - 정보 은닉이란 다른 객체에서 자신의 정보를 숨기고 자신의 동작, 기능, 연산만을 통해 접근을 허용하는 것으로 클래스 외부에서 특정 접근을 막는다는 의미이다. - public : 정보은닉 X / private : 정보은닉 O 그럼 우리는 정보 은닉된 데이터를 어떻게 접근하는교? 2. 정보은닉 된 정보에 접근하는 방법 1) setter, getter 메서드를 통해서 접근 가능 - setter : 매개변수를 받아 상태정보에 저장 - getter : setter에 저장된 정보를 불러오는 것 public class PersonVO { private String name; private int age; pri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kyf5O/btsBCxggrrU/C4iyUz02cVpKCnSwiiHZh1/img.jpg)
우리는 객체 상호간에 접근을 제어할 수 있어야 한다. 예를 들어 내가 어떤 캐릭터의 정보로 라고 저장을 해놨는데 어떤 괘씸한 사람이 자격지심으로 내 티어를 아이언으로 바꿔버렸다.🤬 여기서 이름, 나이, 티어는 상태 정보라 접근을 제한해야한다. 1. 접근제어란(Acces Modifier)? 1) 클래스 간의 접근을 제어하는 것이며 객체를 보호하기 위해서 필요 - 만약 상태에 이름, 나이, 키 등이 있으면 30살을 100살로 바꿀 수 있기 때문에 접근을 제한해야 한다. - 행위에는 먹다, 놀다 등이 있으면 A가 B에게 접근을 해서 동작하게 할 수 있다. - 즉 X는 객체의 상태 정보는 중요하기 때문에 접근을 못하게 해야 한다. 이걸 정보 은닉이라고 함 - 즉 O는 객체의 행위 정보는 상호 작용을 해야 되기 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bp1N26/btsBDQzCWfG/CJpNnznFE8o5docjHkPgeK/img.jpg)
객체지향프로그래밍인 자바에서 클래스를 직접 만들어서 사용할 수 있다. 그 클래스를 역할에 따라 부르는 이름을 Model(모델)이라고 한다. 즉, 우리는 역할에 따라 다양한 모델을 만들어 사용할 수 있다. 우리가 클래스로 만들어서 사용하게 될 모델의 종류에 대해 알아보자. 1. 시작 클래스 - 시작 클래스는 모델의 종류에는 포함된다고할 수 없지만 우리가 많이 사용했으니 다시 짚어보자..! - 시작 클래스는 메인 메서드를 가지고 있는 메인 클래스, 시작 기능을 가지고 있는 역할 2. DTO(Data Transfer Object), VO(Value Object Model) - DTO, VO는 데이터를 담는(이동)하는 모델이다. 예를 들어 책, 영화 등 하나의 구조를 새롭게 만들어서 사용하는 것. 즉, 데이터를..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bw8Ao2/btsA71aZWYI/RUAmFoIMUnPeKL1RauKRik/img.png)
우리가 정수나 실수, 문자 등의 데이터는 단일 데이터로 기본 자료형으로 저장할 수 있지만 영화, 책 데이터를 저장하기 위해서는 단일 데이터로 저장할 수가 없어 하나의 구조로 만들어 데이터를 저장한다. 이 데이터 저장을 위해 새로운 자료형을 만들어야 한다. 이렇게 우리가 필요에 의해 만들어지는 사용자정의 자료형을 객체라고 한다. 1. 객체 - 객체는 이질적인 구조이며 모델(model), 덩어리(Value Object), 이동(Data Transfer Object)라고 함 - 이런 자료형은 class로 설계하며 즉 class는 사용자정의 자료형을 만드는 도구 2. 클래스 - 자료형 측면에서는 새로운 자료형을 만드는 도구 - 객체지향 측면에서는 현실 세계에 있는 객체를 객체지향 프로그램에서 사용하기 위해 객체..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xUm8Y/btsATYTBiia/MmrfyqxufHBEVuCJgXewA1/img.jpg)
지금까지 main 메서드를 사용하면서 도대체 이게 어떤 의미인지 무슨 역할을 하고 있는건지 모르는게 99.9%였다. 하지만 오늘 궁금즘 해결 시간이 드디어 다가왔다(물론 갓지피티한테 물어보긴 함 ^^! 그래도 모르겠는건 마찬가지 ㅎㅎ) 1. 메서드란 무엇인가? 객체가 가지고 있는 어떤 동작, 기능을 의미 여기서 잠깐, 그럼 객체가 뭐였지?! 객체는 소프트웨어에 구현할 대상 반복적인 동일 작업에서 메서드를 만들어 사용하면 편리 객체가 가지고 있는 메서드를 통해서 데이터를 서로 주고 받으며 상호작용 크게 API에서 제공해주는 메서드, 사용자 정의 메서드 두 종류로 분류 메서드는 정의를 하고 호출하여 사용됨 우리는 지금까지 메인 클래스에서 메인 메서드 아래에 필요한 메서드를 만들어서 한 것이다! 2. 프로그래..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcc301/btsAM5xROve/76KZ8GYmb4kFg4aSjZYGp1/img.jpg)
이전 게시물에서는 연산자에 대해서 알아봤다면 오늘은 명령문에 대해서 알아보자 명령문에 의해 왜 사고력이 필요한지 뼈저리게 느끼게 될 것이다. 물론 명령문뿐만 아니라 나머지도 ^^,,, ✋ 잠깐! 명령문 설명 전에 키보드로부터 데이터를 입력받는 방법부터 알아보자✋ Scanner scan = new Scanner(System.in); 요고는 키보드(우리가 진짜 손으로 뚝딱거리는) 장치로부터 자바가 데이터를 읽는 것을 의미한다. 코드를 짜고 우리가 직접 데이터를 넣으면 출력해주는 것이다. int num=scan.nextInt(); → 정수 입력 float num=scan.nextFloat(); → 실수 입력 double num=scan.nextFloat(); → 실수 입력 String str=scan.next..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c6HNih/btsAHZ6rE7P/9akApLJnska0KEeZpZ0zxk/img.jpg)
갑자기 자바를 공부하는데 사고력이 왜 필요하나..라고 생각 할 수도 있지만 코딱지만큼 공부한 내가 필요하다고 느낄 정도면 필요한거다 ^^! 오늘 내용은 간단한 연산자에 관련된 내용이다. 간단한 것 같지만 실제 코드 짜면서 어버버거리는건 어쩔 수 없다. 1. 연산자의 종류 단항 연산자 이항 연산자 삼항 연산자 산술 연산자 관계 연산자 논리 연산자 복합대입 연산자 1) 단항 연산자 증가 연산자 ++a (전위) : a의 값이 1 증가 → a의 값 사용 a++ (후위) : a의 값 사용 → a의 값 1 증가 감소 연산자 --a (전위) : a의 값 1 감소 → a의 값 사용 a-- (후위) : a의 값 사용 → a의 값 1 감소 즉, 전위는 먼저 a의 값을 증가, 감소시킨 후 사용하고 후위는 a를 사용한 후 그..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/D8olQ/btsAxhz0bst/8AwdWJwHciDdL09eMgnJH0/img.jpg)
지금까지 하나의 구조를 만들면서 새로운 자료형을 만들어봤다. 그럼 앞에서 만든 Book 배열이라고 할 수 있는가? 그럼 배열이 도대체 뭔디? 1. 배열 - 배열은 한 구조에 동일한 데이터를 여러 개를 저장할 수 있는 구조를 의미한다. 1) 1 2 3 4 5 이건 배열 맞음 2) 이름 15676 10.4564 가 True 이건 이질적인 구조로 배열 아님 3) a p p l e 이건 배열 맞음 - 해당 표들은 모두 1차원 배열이며, 행과 열이 있는건 2차원 배열이라고 한다. - 1차원 배열의 형태는 예를 들어 int[] a=new int[행]; 이다. - 2차원 배열의 형태는 예를 들어 int[][] a=new int[행][열]; 이다. - 배열도 객체 취급하므로 객체배열이라고 한다. - 그리고 배열의 인덱..