Java

· Java
[Java] 김영한의 실전 자바 - 기본편 섹션5,6 패키지, 접근 제어자 ○ 섹션 5 패키지 ◼️패키지 규칙 패키지 이름과 위치는 폴더 위치와 같아야 패키지 이름은 모두 소문자를 사용 패키지 이름의 앞 부분에는 관례적으로 회사 도메인 이름을 거꾸로 사용 com.company.myapp ○ 섹션 6 접근 제어자 ◼️접근 제어자 종류 private: 모든 외부 호출을 막는다. default: 같은 패키지안에서 호출은 허용한다. protected: 같은 패키지안에서 호출 허용 + 패키지가 달라도 상속 관계 호출은 허용한다. public: 모든 외부 호출 허용 ◼️클래스 레벨 접근 제어자 규칙 클래스 레벨 접근 제어자는 public, default만 사용할 수 있다. public 클래스는 파일명과 이름이 같아..
· Java
🖤 3. 변수와 메서드 1.2 객체지향언어 객체지향언어 장점 코드의 재사용성이 높고 유지보수가 용이하다. 재사용성, 유지보수, 중복된 코드의 제거 2.4 인스턴스의 생성과 사용 클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언 변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장 위에서 new를 할때, 클래스의 멤버변수는 각 자료형에 해당하는 기본값으로 초기화 된다. 인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수 타입은 인스턴스 타입과 일치해야 한다. 자신을 참조하고 있는 참조변수가 하나도 없는 인스턴스는 가비지 컬렉터에 의해서 자동적으로메모리에서 제거된다. 2.6 클래스의 또 다른 정의 프로그래밍적 관점에서, 클래스는 데이터와 함수..
· Java
[Java] 김영한의 실전 자바 - 기본편 섹션3,4 객체 지향 프로그래밍,생성자 ○ 섹션 3 객체 지향 프로그래밍 ⬜ 절차 지향 프로그래밍 ◼️절차 지향 프로그래밍 실행 순서, 즉 절차를 지향 흐름을 순차적으로 따르며 처리하는 방식 (어떻게) ◼️객체 지향 프로그래밍 객체를 지향 객체들 간 상호작용을 중심으로 프로그래밍 (무엇을) ◼️차이점 절차 지향은 데이터와 처리방식이 분리, 반면 객체 지향에서는 데이터와 메서드가 하나의 '객체'안에 함께 포함 ⬜ 클래스와 메서드 클래스에는 속성(데이터, 멤버 변수)과 기능(메서드)을 정의할 수 있다. 객체는 자신의 메서드를 통해 자신의 멤버 변수에 접근할 수 있다. 객체의 메서드 내부에서 접근하는 멤버 변수는 객체 자신의 멤버 변수이다. 메서드 예제 public ..
· Java
🔲 Array 정해진 공간이 있고, 모든 곳에 식별자(인덱스)가 존재한다. 객체 생성시 크기를 할당해주어야 한다. (크기 고정) 조회가 빠른 대신 삽입/삭제가 느리다. (데이터를 한칸씩 밀어야 하므로.) 크기조회는 length primitive type(int,byte, char etc), object를 저장한다. 🔲 List 식별자가 없다. 크기 할당이 필요하지 않다. 조회가 느린 대신 삽입/삭제가 빠르다. (연결 리스트 방식 사용.) 크기조회는 size() 🔲 ArrayList (Array 장점 + List 장점 취합) 동적이고 식별자(인덱스) 가 존재한다. capacity 변수를 가지고 있다. 만약 설정한 capacity를 넘어서 더 많은 객체가 들어오면, 배열 크기를 1.5배 증가시킨다. obje..
· Java
1.1 배열(array) 이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 1.2 배열 선언과 생성 타입[] 변수이름; // 배열을 다루기 위한 참조변수 선언 변수이름 = new 타입[길이]; // 배열을 생성 (실제 저장공간을 생성) 1.2 배열 길이와 인덱스 배열의 길이 최대값은 int 타입의 최대값 (약 20억) 길이가 0인 배열도 생성이 가능하다. 배열 길이는 한번 생성 후 변경할 수 없다. 1.2 배열 생성과 초기화 배열을 생성할 때, 타입은 양쪽중 하나는 생략하지 않고 꼭 써줘야 한다. int[] score = new int[]{50, 60, 70, 80, 90}; // 배열 생성, 초기화 동시에 int[] score_2 = {50, 60, 70, 80, 90}; // new ..
· Java
[Java] 김영한의 실전 자바 - 기본편 섹션1~2 클래스와 데이터, 기본형과 참조형 ○ 섹션 1 클래스와 데이터 ● 클래스 멤버 변수(Member Variable),필드(Field) 필드: 클래스에 정의한 변수들 클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용. ex) MemberService 클래스: 설계도 객체 또는 인스턴스: 실제 메모리에 만들어진 실체 객체를 생성하면 자바는 객체에 접근할 수 있는 참조값(주소) 반환 new 키워드를 통해 객체 생성 후 참조값 반환 new 는 클래스를 기반으로 메모리에 실제 객체를 만드는 것. 리턴 참조 값을 변수에 저장함으로써 실제 메모리 존재 객체에 접근 가능 ● 객체에 값 대입 클래스,객체,인스턴스 정리 클래스: 틀 또는 설계도. 객체가 가져야 할 속..
· Java
김영한의 자바 입문 - 섹션2~3 변수, 연산자 섹션2 변수 🟢 변수 초기화 변수를 선언하고, 선언한 변수에 처음으로 값을 저장하는 것을 변수 초기화라 한다. 변수는 반드시 초기화 해야한다. 안하면 컴파일 에러가 발생. 🟢 변수 타입 int : 정수를 다룬다. 예) 1 , 100 , 1000 double : 실수를 다룬다. 예) 0.2 , 1.5 , 100.121 boolean : 불리언 타입이라 한다. true , false 값만 사용할 수 있다. char : 문자 하나를 다룰 때 사용한다. 작은따옴표( ' )를 사용해서 감싸야 한다. 예) 'A' , '가' String : 문자열을 다룬다. 큰따옴표를 사용해야 한다. 예) "hello java" 🟢 변수 타입 2 정수형 byte : -128 ~ 127..
· Java
김영한의 자바 입문 - 섹션1 Hello World 자바란? 자바는 표준 스펙과 구현으로 나눌 수 있다. 🟢 자바 표준 스펙 자바는 이렇게 만들어야 한다는 설계도이며, 문서이다 이 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 자바를 만든다 🟢 다양한 자바 구현 자바 표준에 맞춘 자바 프로그램이다. 각각 장단점이 있다. 예를 들어 Amazon Corretto는 AWS에 최적화 되어 있다 🟢 컴파일과 실행 자바 컴파일러(javac)를 사용해서 소스 코드를 컴파일 .java->.class 파일이 생성된다. 자바 소스 코드를 바이트코드로 변환하며 자바 가상 머신에서 더 빠르게 실행될 수 있게 최적화하고 문법 오 류도 검출한다. 자바 프로그램을 실행한다. (java 프로그램 사용) 자바 가상 머신(JVM)이..
· Java
1.1 변수(variable) 란? 하나의 값을 저장할 수 있는 메모리 공간 1.2 변수의 선언과 초기화 변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것 변수를 선언하면 메모리의 빈 공간에 알맞은 크기의 저장공간이 확보된다. 타입이 같은 경우 여러 변수를 한 줄에 선언할 수 있다. int a,b; int x = 0, y = 0; 지역변수는 초기화가 필수지만, 클래스변수와 인스턴스 변수는 초기화를 생략할 수 있다. 두 변수의 값 교환하기 변수 x에 저장된 값을 변수 tmp에 저장 변수 y에 저장된 값을 변수 x에 저장 변수 tmp에 저장된 값을 변수 y에 저장 int x = 10, y = 20; int tmp = 0; System.out.println("x: " + x + " y: " +..
· Java
1.3 자바언어의 특징 운영체제에 독립적이다. 자바 응용프로그램은 운영체제에 독립적이며, JVM은 프로그램에서 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다. (자바 응용 프로그램 -> JVM -> 운영체제) 객체지향언어이다. 객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어이다. 비교적 배우기 쉽다. 자바는 간결하면서도 명료한 객체지향적 설계의 특징을 갖는다. 이를 통해 사용자들이 보다 쉽게 이해하고 활용할 수 있도록 하였다. 자동 메모리 관리 (Garbage Collection) 자바 작성 프로그램이 실행되면 가비지 컬렉터가 자동적으로 메모리를 관리해준다. 이를 통해 프로그래머는 프로그래밍에 집중할 수 있다. 네트워크와 분산처리를 지원한다. 대규모 분산..
고쩡이
'Java' 카테고리의 글 목록 (5 Page)