728x90

Java 31

Java 개발 공부 10 ~ 11 일차 (21.08.30~31)

부모의 생성자 호출은 자식클래스 맨 첫줄에 선언되어야 한다. 메소드 오버로딩과 오버라이딩의 차이 구분!! ** 면접에서 묻기 좋은 질문 메소드 오버라이딩 시에 자식 메소드는 부모 메소드보다 더 넓은 접근제한자를 가질 수 있으나 좁은 접근 제한자는 가질 수 없다. 부모 클래스를 파라미터로 사용하는 메소드 등을 사용하기 쉽다. (다형성의 이점!) 부모클래스를 자식클래스로 대체하여도 구현가능하며, 메소드 오버라이딩하여 재정의 된 메서드를 사용할 수도 있다. 이렇듯 객체들이 변경되어 들어가도 전체 다른 클래스는 수정이 필요하지 않고 객체간 연결이 끊어지지 않도록 구현이 가능하다. ** 아직 어렵지만 조금은 이해한 듯! Math.max(A,B) => A, B중 최대값을 리턴해줌. 추상클래스의 용도 추상 클래스도 ..

Java 2021.08.31

Java 개발 공부 9일차 (21.08.27)

클래스의 구성요소 - 필드, 메소드 객체지향 프로그래밍의 특징 - 캡슐화, 상속, 다형성 기본 생성자 (디폴트 생성자) : 파라미터가 없는 생성자. 생성하지 않고 상속되는 경우 자식 클래스에 자동으로 생성된다. (이클립스가 자동 생성 해줌) 상속 - 부모의 멤버변수, 메소드를 가지고 온다. - 생성자(Constructor) 호출 시 부모의 생성자부터 호출한다. - 코드의 중복을 줄여주는 장점이 있다. - 자바에서는 다중 상속을 허용하지 않는다. (C언어에서는 가능) - ctrl + 클래스 명 누르면 그 클래스를 열어준다. (이클립스 기능) - alt + 왼쪽키 : 이전화면으로 돌아간다. (이클립스 기능) this : 나 자기자신 // super: 현재 클래스에서 부모클래스를 말함. 명시적 호출 메소드 재..

Java 2021.08.28

Java 개발 공부 8일차 (21.08.26)

싱글톤 패턴 : 객체가 단 하나만 선언되는 final은 선언하면서 값을 넣어주고서는 변경이 불가능하다. final의 값을 주는 방법은 1) 필드 선언할 때 초기화, 2) 생성자에서 주는 방법 딱 두 가지 이다. 상수는 final 이랑 같지 않고 static이면서 final이어야 한다. 공용 메모리 공간에 저장됨.(static)모두 대문자로작성, 연결은_로 한다. static이 붙은 멤버변수는 객체가 생성되어도 공용메모리 공간을 공유한다. 새로운 heap에 메모리 공간을 할당받지 않음 자바의 패키지가 우리의 파일시스템의 폴더 기능을 한다. 클래스의 전체 이름은 "패키지명+클래스명"으로 사용하고 패키지가 상하위로 구분되어 있다면 도트(.)를 사용하여 표현한다. (상위패키지.하위패키지.클래스) 접근제한자 (A..

Java 2021.08.28

Java 개발 공부 7일차 (21.08.25)

클래스 - 멤버변수(속성, 필드) 와 메소드(동작) 추상화의 개념,, (abstrack) 객체(인스턴스) 는 new 를 통하여 생성됨. - 보통 하나의 소스파일에 하나의 클래스를 선언한다. (두 개 이상도 가능은 하다) 컴파일하면 클래스 갯수만큼 생긴다 그리고 파일명과 같은 클래스에만 public을 붙일 수있다. 그러니 클래스는 1개만 선언하는 것이 좋음! .(도트) 연산자는 접근 연산자로 클래스 내 멤버변수나 메소드에 직접 접근 혹은 호출하는 방법이다. 객체지향프로그래밍의 특징 - 캡슐화 (접근제한자 사용) - 상속 (inheritance) - 다형성 보통 라이브러리 클래스와 실행클래스로 분리하여 제작한다. 생성자 : 클래스 내 멤버변수를 초기화하기에 좋다. 호출과 동시에 실행되므로. this 는 나 ..

Java 2021.08.28

Java 개발 공부 6일차 (21.08.24)

Class 안에는 1)속성, 2)메서드 가 존재한다. 속성 보안차원에서 외부에서 직접 접근을 할 수 없도록 메서드를 사용하여 조정할 수 있도록 캡슐화 한다. ( private) UML :Unified Modeling Language , 개발자들 간의 의사소통을 원활하게 하기 위해 표준화한 모델링 언어 클래스 다이어그램, 유즈케이스 다이어그램, 시퀀스 다이어그램 객체지향 프로그래밍의 특징 ** 꼭 기억하기 - 캡슐화 - 상속 - 다형성 접근 제한자 (가장 위가 닫혀있는 지정자) private 생략 (기본 접근 지정자) protected public - 자신의 클래스, 같은패키지, 하위클래스, 다른패키지 모두 접근 가능 생성자 (constructor) - 인스턴스 생성 시, 자동으로 호출되는 메서드 - 클래..

Java 2021.08.28

Java 개발 공부 5일차 (21.08.23)

Java - 기본형 자료 타입 (정수, 실수, 논리) :Stack에 값이 직접 저장됨 - 참조 타입 (배열, 열거, 클래스, 인터페이스) :Stack에는 주소값, Heap에 값이 저장됨 Stack - LIFO (후입선출) Queue - FIFO (선입선출) Stack Heap String 타입 선언 방법은 2가지. 바로 " ~~" 로 선언 혹은 new String (" ~~") 사용 바로 선언 시 같은 문자열일 경우 같은 주소값을 참조함!! but, new String의 경우 무조건 새로 Heap에 생성되고 새로운 주소값을 참조함 -1차원, 2차원 2차원 배열을 초기화 시키는 방법 행의 갯수만 선언도 가능 - 배열 복사는 for 문을 이용하거나 System.arraycopy() 메서드를 사용해도 된다. ..

Java 2021.08.28

Java 개발 공부 4일차 (21.08.20)

개발 초기에는 절차지향언어 (ex. c언어) 에서 현재는 프로그램 크기도 커지고 하면서 객체지향 언어 (ex. 자바, 파이썬 등) 으로 경향이 바뀜. 향상된 for문 : 배열과 같은 자료구조에서만 사용 - 형태 : for ( [ 타입 변수 ] : [ 배열 ] ) 출력 함수의 종류 println printf ( " " 내부에 형식 지정이 가능 (ex. " %d" , 변수)) 형식 지정자 - %d : 정수값 - %c : char 타입 - %f : 실수값 (%.2f 라고 하면 두 번째 자리까지 소수점 출력! 소수점 자리 지정 가능하다) While 문 While ( [조건식] ) { [조건식]이 true인 동안 실행 } String str = sc.nextLine(); - 문자열을 받을 수 있음 (엔터를 칠 때..

Java 2021.08.22

Java 개발 공부 3일차 (21.08.19)

3일차에도 계속 자바언어에 대하여 배웠다. 지금까지는 강사님의 자료를 통해 먼저 봤고 "이것이 자바다"라는 교재를 통해 오늘은 복습에 추가로 공부했다. 저급언어: 기계어(0과1)와 비슷한 언어로 사람이 알아보기 어려운 언어를 말한다. 대표적으로 '어셈블리어'가 있다. 고급언어: 보통의 프로그래밍언어로써 사람이 알아보기 쉬운 언어를 말한다. 대표적으로 자바,C, C++ 등이 있다. C언어 - 절차지향언어인데, 절차지향 언어는 규모가 큰 프로그램을 만들다 보면 유지보수가 어려운 것이 단점이다.(확장자 .c -> 컴파일 후 바로 .exe 실행파일이 됨) 자바 - 이식성이 높음, 객체지향언어 (OOP: Objext Oriented Programming, 객체지향프로그래밍), 메모리 관리를 알아서 해줌, (.ja..

Java 2021.08.22

Java 개발 공부 2일차 (21.08.18)

연산자 연산자와 연산식 연산 (operations) : 프로그램에서 데이터를 처리하여 결과를 산출하는 것 연산자 (operator): 연산에 사용되는 표시나 기호 피연산자 (operand): 연산되는 데이터 연산식 (expressions): 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 java에서 제공하는 연산자 - 산술( +, -, *, /, %), 부호(+, -), 문자열연결(+), 대입(=, +=, -=, *=, /=, %=, &=, ^=, |=, =, >>>=), 증감(++, --) - 비교, 논리, 조건, 비트, 쉬프트 다항 연산자(피연산자가 여러개), 단항 연산자 (피연산자가 1개) 단항 연산자 - 정수타입의 피연산자에만 사용되고, 산출 타입은 int 타입이 됨! - 비트 반전 연산자..

Java 2021.08.19

Java 개발 공부 1일차 (21.08.17)

개발 언어 Java Java는 개발자들이 많이 사용하는 언어 중 한 가지이다. 매 년 개발자들이 많이 사용하는 언어 순위는 구글링 하면 나오는데, 추세는 조금씩 바뀌는 편이다. 2018년도에는 가장 많이 사용하는 언어 1위가 Java였다고 한다. 강사님께서 Java 공부를 하면서 Java외의 다른 언어들의 변화도 공부하는 것이 좋다고 하셨다. Java의 특징 이식성이 높은 언어 객체지향언어 메모리를 자동으로 관리 (JVM-Java Virtual Machine, Garbage Collector) 다양한 어플리케이션 개발 가능 여러 운영체제 (유닉스, 리눅스, 윈도우, 맥 등)에서 실행되는 프로그램을 개발 가능 단순한 콘솔 프로그램에서부터 클라이언트용 윈도우 어플리케이션, 서버용 웹 어플리케이션, 모바일용 ..

Java 2021.08.17
728x90