혜니니의 공부방

교내 자바특강 day2 본문

공부 기록/자바 프로그래밍 기초

교내 자바특강 day2

니니혜 2021. 1. 12. 21:00

day2 

 

 

마지막 날에는 미니 웹사이트 만들어야하는데 슬슬 걱정된다. 나 잘할 수 있을까? 오늘도 열심히 달려봅니다. 후 토익은 또 언제한담. 개념정리하고 과제해야지.. 생성자 제일 어려웠다. ㅠㅠ 흑흑 알듯말듯한 기분, 오늘 하루종일 생성자 했는데 막상 코드작성하니까 어려워서 연습을 많이 해야할 것 같다. 약간의 사담이지만 하다가 어려워서 환급만이 목적이니 환급만하자 싶었는데 들켜서 쪽팔렸다...히히........................ ㅠㅠㅠㅠㅠ 하지만 갈수록 자신 없어진다. 내일부터는 상속인데 화이팅해야지.

 

 

변수

 

모든 타입이 선언 가능한 변수는 Object! 아직 이 개념에 대해서 배우지는 않았지만 약하게나마 작성해본다. 

 

1) 전역변수 - 제한자가 올 수 있다. / modifier 올 수 있다.

  : class 내부에서 선언된 변수로 모든 영역 내에서 접근이 가능하다. 지역변수와 이름이 같을 경우 this 변수이름; 이라면 전역변수를 의미한다. 앞에 접근제한자(public, private, protected, 생략) 이 올 수 있다. 객체가 생성되는 시점에서 자동 초기화가 된다.

2) 지역변수 - 제한자가 올 수 없다. 

  : method내부에 선언된 변수로 선언된 영역 내에서만 접근이 가능하고 사용 전에 반드시 초기화를 해야한다!

 

ex) int a ; X > int a= 0; O // 명시적 초기화를 한다고 말합니다. 

 

This

기능 : 1) this. 변수이름 > 전역변수

        2) this.method이름(값) > 하나의 class 내에서 다른 method호출 

        3) this (값, 값 ... ) > 같은 class 내에서 다른 생성자 호출 

 

Static 

class 앞에는 올 수 없다. 전역변수 앞에서만 생성이 가능하다. 

객체생성 없이 외부에서 class이름, 변수이름 호출 가능하며 

static은 같은 class들이 공유하는 공유변수이다! 

주로 디자인패턴 Singleton pattern 에서 많이 사용한다.

Static이 있는 Method에서는 this 키워드를 사용할 수 없다. 같은 static method만 사용할 수 있다.

스테틱 변수 / 클래스변수.변수 = 값 / 보다는 클래스이름.변수=값 추천 Singleton pattern에서 사용됌.

static은 하나의 커다란 메모리 공간으로 모두 이어져있다.

 

Array

 

java 문법에서 배열이란!???

 

1)  한 가지 type만 저장 가능하다.

2) 배열은 객체이다. > 생성해서 사용한다.

3) 배열의 번지수는 0번부터

 

* .length(배열의 크기를 나타낸다.)

 

선언 방법 

 

- DataType [] 배열이름 = new DataType[N];

 ex) int [] gruop = new int[5];

 

-2차원 배열의 경우 datatype [][] 배열이름= new datatype [m][n];

 

 

 

Constructor (생성자)

 

 

1) 특별한 method

2) 반드시! method이름과 class 이름이 같다. (대문자로 시작해야한다.)

3) 일반적인 method선언과 같지만 리턴타입 자리가 없다.

     ex) public Group(int num){  .. .... .. } 절대 void가 들어가면 안됀다.

4) Overloading이 가능하다.

5) 객체가 생성되는 시점 (new) 에서 딱 한번 호출한다. 

6) 프로그래머가 생성자를 하나도 작성하지 않는다면 default 생성자가 만들어진다.  default생성자는 인수가 없다.

 

생성자는 객체가 생성되는 시점에서 전역변수를 0으로 초기화, 명시적 초기화, >> 데이터 초기화를 할 때 많이 사용한다. 같은 클래스 내에서는 this를 이용해 호출이 가능.

 

 

 

Singleton Design pattern

singleton pattern 규모가 커다란 프로젝트에서 작업하다보면 여러개 객체를 메모리에 만드는데 여러개를 하나로 인식하기 위해 static을 사용한다.  서비스와 레파지토리 dao영역은 싱글톤을 유지함. 스프링프레임웤은 내부적으로 DI개념을 이용해 객체를 다 생성해 dao를 해주는데 이게 모두 싱글톤  메모리를 하나만 만들어서 넣어준다. 규모가 커지면 객체들을 만들어서 메모리낭비를 방지하기 위해서 싱글톤 패턴을 방지한다.  // 디자인 패턴은 각잡고 하루 정리해야할 것 같다.

 

private 접근 활용하기 (정보 은닉, 데이터 은닉)

 

변수: private access modifier 활용

public 메소드로 변수 활용

 

- Setter 메소드 : 값을 받아 저장, 잘못된 값에 대한 유효성 체크 로직 이용 가능 예) setXXX();

                      void / return 불가

- Getter 메소드 : 값을 조회하는 역할 , getXXX();  

                       리턴타입을 반드시 설정해야한다.

 

 

* 오늘은 자바의 주소값 개념에 대해 배웠다. 주소가 어떻게 들어가고 값이 이동하는게 중요하다고 하셔서.. 흑흑... 그리고 간단한 CRUD도 했다! 아 너무 어렵지만 계절학기급으로 피곤하고 내일부터 들어가는 상속도.. 일단 매일매일 정리해봐야지. 화이팅 팅 

 

'공부 기록 > 자바 프로그래밍 기초' 카테고리의 다른 글

교내 자바특강 day4  (0) 2021.01.15
교내 자바 특강 day3  (0) 2021.01.15
교내 JAVA특강 day1  (0) 2021.01.11
혼자 공부하는 자바 chap 01 변수  (0) 2020.12.03
Intelli J 설치  (0) 2020.12.01
Comments