반응형

java 24

추상화

추상 클래스(abstract class) 미완성 설계도. 미완성 메서드를 갖고 있는 클래스 추상클래스로 인스턴스는 생성할 수 없다 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 클래스 선언부의 abstact를 보고 이 클래스에는 추상메서드가 있으니 상속을 통해서 구현해주어야 한다는 것을 쉽게 알 수 있다 추상클래스는 추상메서드를 포함하고 있다는 것을 제외하고는 일반클래스와 전혀 다르지 않다. 추상클래스에도 생성자가 있으며, 멤버변수와 메서드도 가질 수 있다. /* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명한다 */ abstract 리턴타입 메서드이름(); //꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우 abstract class Player{ // 추상클..

Language/Java 2021.09.19

다형성

다형성 여러 가지 형태를 가질 수 있는 능력 한 타입의 참조변수로 여러 타입의 객체를 참조 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것 조상 타입 참조 변수로 자손 타입 객체를 다루는것 Tv t = new Tv(); SmartTv() s = new SmartTv(); class Tv{ boolean power; // 전원상태 (on/off) int channel; // 채널 void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } class SmartTv extendsTv { String text; // 캡션(자막)을 보여 주기 위한 문자열 void c..

Language/Java 2021.09.19

상속, 패키지, 접근 제어자

상속 - 기존의 클래스로 새로운 클래스를 작성하는 것 - 두 클래스를 부모와 자식으로 관계를 맺어주는 것 상속의 특징 - 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다 class Parent {} class Child extends Parent { // 자식 상속 부모 } 포함(Composite) - 작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다. class MyPoint{ int x; int y; } class Circle { //포함 MyPoint p = new MyPoint(); int r; } public class InheritanceTest { public static void main(String[] args) { Circle c = ..

Language/Java 2021.09.16

[LeetCode] Squares of a Sorted Array

https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3240/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제 정수 배열에 있는값들을 제곱근하고 정렬 후 출력하세요 풀이 class Solution { public int[] sortedSquares(int[] nums) ..

알고리즘 2021.09.15

[Leetcode] Find Numbers with Even Number of Digits

https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3237/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제 정수로 되어있는 배열이 주어진다. 배열 길이에 짝수가 몇개인지 알아보는 문제이다 풀이 class Solution { public int findNumbers(i..

알고리즘 2021.09.12

Static

Static이란? 시작과 동시에 Static영역에 저장된다. 공유할 변수, 메소드가 있을시에 static을 붙여서 사용하고 class같은 경우에는 내부클래스에서 사용이 된다. static을 호출할때는 class이름을 사용하여 호출해야한다. static영역같은 경우 프로그램이 종료하면 자동으로 소멸된다. 클래스 내부에서는 얼마든지 직접 접근이 가능하다 클래스 외부에서는 인스턴스의 이름이나 클래스의 이름을 통해 접근하는 것도 가능하다. Static 변수 사용 이유 인스턴스 간에 데이터 공유가 필요한 상황에서 static 변수를 선언한다. Static 메소드란? 인스턴스를 생성하지 않아도 static 메소드를 호출할 수 있다. 사용 이유는 객체를 생성할 필요가 없는 메소드에 붙인다. 인스턴스 변수에 접근하지 ..

Language/Java 2021.09.12

객체지향 언어

객체지향 언어 객체 지향에는 특징으로 4가지을 볼수가 있다. 1. 캡슐화 2. 상속 3. 추상화 4. 다형성 이 중에서 가장 중요시 여기고 있는것은 다형성이라 볼수있다. 객체지향언어의 장점 1. 코드의 재사용성이 높다 -새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다 - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. - 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 클래스란? - 객체를 정의해놓은것 (처음 클래스을 배우는 사람은 설계도 또는 틀이라고 생각하면서 공부해보자) 클래스의 용..

Language/Java 2021.09.12

[Leetcode]Max Consecutive Ones

https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3238/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com Success 이진 배열 숫자가 주어지면 배열에서 연속된 최대 1을 반환한다. 풀이 nums[i] 에는 0과 1로 이루어져있다. [1,0,0,1,1,0,1] 이 있다..

알고리즘 2021.09.09

public static void main(String[] args)

Public(접근제어자) 접근제어자 → private →protected →pulibc → defualt 등이 있는데 public은 어느곳에서든 해당 객체를 참조할수있다는 의미이다. Static Static으로 함수 또는 클래스를 선언했을 경우에 해당 객체는 자바가 컴파일 되는 순간 정의가 된다. 그리고 이후 static이 아닌 객체가 정의가 된다. 따라서 일단 static 객체에서 static이 아닌 객체를 호출하는것은 불가능하다 void. 프로그램 자체가 종료되기 때문에, return값의 의미를 지닐수가 없다. 더쉽게 이해하자면 void자리에 int를 넣을경우 어떠한 처리를 실행한후 정수형 데이터를 돌려보내곘다는 뜻이며 String이 들ㅇ러갈경우 문자형데이터를 돌려보내겠다는 의미이다. 지금까지 정리을..

Language/Java 2021.09.07

[LeetCode] Squares of a Sorted

https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3574/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com Success 내림차수가 아닌 순서로 정렬된 정수배열을 각 숫자의 제곱 배열을 내림차수가 아닌순서로 정렬 하는 문제이다 풀이 s라는 배열에 nums 배열의 길이만큼 받는..

카테고리 없음 2021.09.07
반응형